能否通过DJI Thermal SDK提取M30T无人机_T.MP4的辐射热数据?
从DJI M30T的_T.MP4热视频中提取辐射热数据?
我正在开展一项DJI M30T无人机热成像分析项目,当前处理_T.JPG图像的流程完全可行:这类图像内嵌辐射热数据,我使用DJI Thermal SDK(Linux + Python + ctypes),通过dirp_create_from_rjpeg()和dirp_measure_ex()函数提取每个像素的精准温度值,简化代码如下:
ret = dirp_create_from_rjpeg(rjpeg_data, size, byref(DIRP_HANDLE)) ret = dirp_measure(DIRP_HANDLE, temp_buffer, temp_size)
但在处理_T.MP4热视频(如DJI_20250117121751_0003_T.MP4)时遇到了问题:这类视频由热相机拍摄(如白热模式),附带.SRT遥测副文件(包含GPS、高度、云台角度等信息),但存在以下情况:
- _T.MP4文件不含热数据或热校准信息
- DJI Thermal SDK未提供读取_T.MP4输入的函数
- 用ffmpeg或
cv2.VideoCapture()提取的帧仅为视觉图像,无温度数据 - 用
dirp_create_from_rjpeg()处理视频帧会失败
我的核心问题是:
是否有人成功从DJI M30T这类无人机拍摄的_T.MP4文件中提取辐射热数据?
或可替代的问题:
- 是否存在DJI无人机设置或录制模式,可将热数据存储为视频格式?
- 是否有未公开的特性或元数据结构存储每帧热校准信息?
我了解_T.MP4可能仅为渲染后的热视图(非真正的辐射热录制文件),但如果有人找到解决方法或能明确证实该操作不可行,欢迎告知。
我曾成功用DJI Thermal SDK处理_T.JPG图像,期望同样处理_T.MP4热视频,尝试用OpenCV提取视频帧传入SDK但失败,原因是视频帧不含辐射热数据。我需要提取保留热数据的视频帧,以便用DJI Thermal SDK处理。
内容的提问来源于stack exchange,提问作者Santiago Moreno




