大疆 M30T H20T H30T 御2行业进阶版(M2EA) 热红外图像jpg转tiff或tif,并将tiff或tif使用pix4d合成 | 热红外照片温度信息提取(方法三)
看到很多人不会处理大疆无人机拍摄的热红外照片也不怎么会合成正射影像在这里我介绍一种处理大疆多种无人机热红外成像照片的方法以及将处理好的热红外照片拼接成正射影像大图。由于大疆R-JPEG格式照片无法直接导出纯温度信息我这里提出通过提取温度信息转成TIFF或者TIF格式并在Pix4Dmapper软件中进行空三和拼接以保留温度细节。这个方法唯一的缺点就是没有了相机型号信息目前我不知道怎么解决如果有大佬知道还望多指导指导。我在网上看到有人将热红外图像转温度矩阵我也试了这种方法不太好用先将热成像图片生成存储温度信息的.raw文件然后将.raw文件中的值除以10得到温度值最后转为.tif文件。这种方法太麻烦了并且还会丢失图像中的一些信息比如位置信息纬度、经度和高度等。1.下载TSDK编写转换脚本代码下载大疆TSDK版本dji_thermal_sdk_v1.4_20220929解压缩新建工程项目将解压缩的文件夹dji_thermal_sdk_v1.4_20220929复制粘贴放入项目文件夹中然后编写python脚本代码TSDK和脚本放在同一个文件夹即可转换代码需要完整代码可私聊我q3641987155或者附上你的联系方式我已经将工程文件打包成一个软件运行即可转换def get_platform(): return platform.system() def mkdir(path): isExists os.path.exists(path) if not isExists: os.makedirs(path) print(fSuccessfully create path: {path}) return True else: shutil.rmtree(path) os.makedirs(path) print(fPath: {path} already exists, delete and create again.) return False def jpg2tiff(inputpath, outpath, **kwargs): # 代码可私聊我 **** **** def run(input_dir, output_dir, **kwargs): # 代码可私聊我 **** ****运行代码就可以将R_JPG图像转换为TIF格式的图像了TIF图像中每个像素的数据不再表示颜色信息而是表示了温度转化完成后的TIF图像可以保留原始图像的位置信息。转换前后如下基本上看不出差别但是转换之后用Arcgis打开可以看得到温度值如果不会调节参数或者无论怎么调节参数转换得到的温度图像的温度值与实际相差太大有这样的一个解决办法1在拍摄地点中找一个易于手动测量温度的一个地点在图像中找到对应位置2等到一个天气与拍摄天气一样的日子在同样的时间在指定的地点测量实际温度物体表面温度不要测量物体上方空气温度3计算图像温度值与测量得到的值的比例关系3设计算法将所有温度图像按照比例关系调整温度。该方法我已经试过不会丢失图像的GPS等信息。注意转换后的图像格式可以是TIF也可以是TIFF转成什么格式看自己需要。TIF格式的温度图像可以使用大疆智图软件进行拼接可以不用pix4D对于不熟悉pix4D软件的人比较友好一些。TIFF格式的图像无法在大疆智图里面拼接可以使用pix4D进行拼接。2.使用pix4D mapper拼接TIFF图像添加图像可以看到导入的图像有位置信息但是没有相机型号一个小缺点选择thermal camera拼接之前点击处理选项勾选正射影像图GeoTIFF及合并瓦片Pix4D正在将tiff/tif合成耐心等待完成即可。合成结果如下所示合成影像保存在工程文件路径4_index\project_data\reflectance_gsd\tiles下Pix4D也可生成指数图根据需要生成相应的shp文件或Geotiff文件