public class VideoDatasetVectorHelper
extends java.lang.Object
用于将csv + mp4 转为视频数据集
SampleCode:
//创建实例,参数(上下文,数据源Datasource)
VideoDatasetVectorHelper videoDatasetVectorHelper = new VideoDatasetVectorHelper(this, datasources.get(0));
try {
//读取视频资源(文件全路径)
videoDatasetVectorHelper.readVideo(SD_CARD+"/UAVSurvey/Common/2022_05_16_15_51_51.mp4");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
try {
//读取csv资源(文件全路径)
videoDatasetVectorHelper.readCsv(SD_CARD+"/UAVSurvey/Common/2022_05_16_15_51_51.csv");
} catch (IOException e) {
e.printStackTrace();
}
//创建视频数据集
DatasetVector datasetVector = videoDatasetVectorHelper.createDatasetVector("NewVideoDatasetVector");
| 构造器和说明 |
|---|
VideoDatasetVectorHelper(android.content.Context context,
Datasource ds)
构造函数
csv中字段依次是
/UniqueIdentifier/UnixTimeStamp/SensorLongitude/SensorLatitude
/PlatformHeight/PlatformYaw/PlatformPitch/PlatformRoll
/VerticalFOV/HorizontalFOV/FocalLength35mmEq
/CameraRelativeYaw/CameraRelativePitch/CameraRelativeRoll/CameraRelativeHeight
/Yaw/Pitch/Roll/Date/
|
VideoDatasetVectorHelper(android.content.Context context,
Datasource ds,
UAVCsvReader.OnReadUpdateListener onReadUpdateListener)
构造函数
读取的csv对字段顺序无要求,可通过OnReadUpdateListener实现读取字段
public void onUpdate(UAVRecordParameter currentPara, String[] value) {
try {
currentPara.setUniqueIdentifier(String.valueOf(index++));
currentPara.setUnixTimeStamp(Long.parseLong(value[1]));
//...
|
| 限定符和类型 | 方法和说明 |
|---|---|
java.lang.String |
convertToXmlStr(java.util.ArrayList<UAVRecordParameter> uavRecordParameters) |
DatasetVector |
createDatasetVector(java.lang.String datasetVectorName)
创建视频数据集
|
DatasetVector |
createDatasetVector(java.lang.String datasetVectorName,
java.lang.String videoName)
创建视频数据集
|
void |
readCsv(java.lang.String sdcardPath)
从sd卡的路径读取csv
|
void |
readVideo(java.lang.String sdCardPath)
设置视频的宽高尺寸
|
public VideoDatasetVectorHelper(android.content.Context context,
Datasource ds)
csv中字段依次是
/UniqueIdentifier/UnixTimeStamp/SensorLongitude/SensorLatitude
/PlatformHeight/PlatformYaw/PlatformPitch/PlatformRoll
/VerticalFOV/HorizontalFOV/FocalLength35mmEq
/CameraRelativeYaw/CameraRelativePitch/CameraRelativeRoll/CameraRelativeHeight
/Yaw/Pitch/Roll/Date/
context - ds - public VideoDatasetVectorHelper(android.content.Context context,
Datasource ds,
UAVCsvReader.OnReadUpdateListener onReadUpdateListener)
读取的csv对字段顺序无要求,可通过OnReadUpdateListener实现读取字段
public void onUpdate(UAVRecordParameter currentPara, String[] value) {
try {
currentPara.setUniqueIdentifier(String.valueOf(index++));
currentPara.setUnixTimeStamp(Long.parseLong(value[1]));
//...
Date date = dateFormat.parse(value[18]);
currentPara.setDateTime(date);
} catch (Exception e) {
Log.e(VideoDatasetVectorHelper.class.getSimpleName(), "onUpdate: ", e);
}
context - ds - onReadUpdateListener - public void readCsv(java.lang.String sdcardPath)
throws java.io.IOException
sdcardPath - java.io.IOExceptionpublic void readVideo(java.lang.String sdCardPath)
throws java.io.FileNotFoundException
sdCardPath - 资源路径java.io.FileNotFoundExceptionpublic DatasetVector createDatasetVector(java.lang.String datasetVectorName)
datasetVectorName - 数据集名称public DatasetVector createDatasetVector(java.lang.String datasetVectorName, java.lang.String videoName)
datasetVectorName - 数据集名称videoName - 视频名称public java.lang.String convertToXmlStr(java.util.ArrayList<UAVRecordParameter> uavRecordParameters)
uavRecordParameters -