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.IOException
public void readVideo(java.lang.String sdCardPath) throws java.io.FileNotFoundException
sdCardPath
- 资源路径java.io.FileNotFoundException
public 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
-