![]() |
DvsenseDriver
1.0.3
The SDK for dvsense products.
|
该部分介绍了如何通过 API 接口读取录制下来的文件。
SDK 支持读取 .raw
文件格式。该 raw 文件中记录的从动态视相机中直接获取的未经解码的数据。编码方式为 EVT3.0
文件读取相关头文件位于 DvsenseDriver/FileReader/DvsFileReader.h
可以通过 dvsense::DvsFileReader::createFileReader 创建 dvsense::DvsFile 的实例,通过它加载数据和处理数据。dvsense::DvsFile 是对 dvsense::DvsFileReader 的易用性封装 typedef DVSENSE_API std::unique_ptr<DvsFileReader> DvsFile;
请注意,reader
在构造之后并不直接加载数据,需要手动调用 dvsense::DvsFileReader::loadFile 加载文件数据 函数的运行时间取决于文件的大小。
dvsense::DvsFileReader 中提供两种接口对数据进行读取:
调用这两个接口的时候,dvsense::DvsFileReader 内的文件指针也会进行相应调整。
注意!!这个函数返回的 std::shared_ptr<dvsense::Event2DVector> 不是线程安全的,并且在下次调用函数的时候,会被覆盖
对于已经加载过的文件,提供了寻找指定时间并跳转的接口 dvsense::DvsFileReader::seekTime 。可以首先通过 dvsense::DvsFileReader::getStartTimeStamp 和 dvsense::DvsFileReader::getEndTimeStamp 分别获取该文件中的起始时间戳和最后一个时间戳
通过调用 extractEventData 接口可以对已经导入的文件进行裁剪,输入参数为:起始时间戳、结束时间戳、输出文件完整路径,以下是裁剪示例:
通过调用 exportEventDataToVideo 接口可以对已经导入的文件进行视频导出,输出转换后mp4文件,输入参数为:起始时间戳、结束时间戳、输出文件完整路径
注意:在导出过程中不能对文件进行其他读取操作,否则会出现导出错误问题。