大疆TSDK提取热红外图像(RJPG)温度信息,热红外图像转tiff或tif并用大疆智图或Pix4D拼接 | 热红外照片温度信息提取可处理1280x1024图像| 热红外温度图像处理-已打包成软件

大疆TSDK提取热红外图像(RJPG)温度信息,热红外图像转tiff或tif并用大疆智图或Pix4D拼接 | 热红外照片温度信息提取可处理1280x1024图像| 热红外温度图像处理-已打包成软件

前情提示:

这次我将前面全新制作的完整详细版本使用大疆TSDK提取热红外图像(RJPG)温度信息,热红外图像转tiff或tif,并使用大疆智图或Pix4D拼接tiff | 热红外照片温度信息提取,可处理1280x1024图像大小| 热红外温度处理(包含工程文件、TSDK、代码脚本和依赖包)打包成了单文件 GUI 程序(.exe),.exe文件大小为34.1MB,双击运行.exe文件即可启动热红外图像(RJPG)转温度图像(TIF/TIFF)的GUI界面,无需安装python环境,软件图标及GUI界面如下图(需要该软件的可私聊我并附上联系方式):

软件图标(一个是通用版本,一个是M4T版本)

软件GUI界面

如果对代码不熟悉,不会配置虚拟环境,那么可以看看当前版本,不需要再查看前面的版本内容了。小白都能马上看懂如何上手操作。

软件有两个版本,一个是适用于M4T热红外相机的软件版本,一个是适用于除M4T之外的热红外相机的软件版本,软件适用于 Windows x64系统

软件既可以转换640x512大小的热红外图像,也可以转换1280x1024大小的热红外图像,并且是可以批量处理热红外照片,不需要一张一张进行处理,步骤详细完整,所以不用担心太多

使用软件将热红外图像转换为温度图像之后可以使用大疆智图或Pix4D软件将转换得到的温度图像拼接成为一张大图(TIF/TIFF格式)

使用大疆热红外相机拍摄得到的热红外照片是RJPG格式,图像为三波段,R-JPEG图像使用大疆红外热分析工具3(DJI Thermal Analysis Tool 3)打开设置才会显示温度值,使用其他软件就不行了,而我们一般需要的是热红外照片中的每个像素值就是温度值,而不是RGB值,所以我们需要将热红外照片(R-JPEG)批量转换为单波段的温度值图像(TIF/TIFF),使得图像中每个像素的数据不再表示颜色信息,而是表示了温度,最后使用Pix4D等软件将温度值图像拼接成大图,用于后续的研究应用。

那么我们现在开始吧

双击.exe文件,启动GUI界面(如下)

GUI 界面提供以下内容:

  • 两个目录:原始热红外图像输入文件夹、转换得到的温度图像输出文件夹
  • 四个测温参数distance(距离m)、humidity(湿度%)、emissivity(发射率0~1)、reflection(反射温度℃)
  • 进度与日志:进度条 + 滚动日志

软件使用的大疆TSDK版本为v1.8_20250829,已是最新版本

第一步,设置输入输出文件夹

在“输入文件夹”右侧点击“浏览”,找到自己的原始热红外图像所在文件夹,如下图

软件会自动在“输出文件夹”中创建输出路径,如果路径中的文件夹不存在可自动创建

如果想把温度图像存在在其他路径下可自己修改

第二步,设置“测温参数”中四个参数的值

首先,下载大疆的热红外分析工具3(DJI Thermal Analysis Tool 3)。大疆红外热分析工具 3 主要用于分析和处理红外照片,它可获取拍摄物体关键位置的温度信息以及其他信息。

我们使用大疆的红外热分析工具3(DJI Thermal Analysis Tool 3)查看拍摄的热红外图像。直接添加文件夹:

选择其中任何一张热红外图像进行查看

可以看到DJI Thermal Analysis Tool 3软件右方有该热红外照片的相关信息,如温度范围、参数信息、设备型号、系列号、焦距、光圈和宽高等信息,其中就有我们想知道的四个参数,这张热红外照片的四个参数值情况如下:

距离=13.00M,

空气湿度=50%,

发射率=0.95,

反射温度=25.0℃

距离、空气湿度、发射率和反射温度四个参数的官方介绍

distance,测温距离:

单位:米

范围:1~25,超过25时填写25即可(超过25米时测温精度会有所下降)

说明:待测目标的距离。红外热像仪接收物体自身辐射的红外线生成热像图,距离越远,红外辐射衰减越多。红外热像仪出厂时默认的标定距离一般是固定的,在这个距离测温最精确,距离过近或过远都会增大测温误差。

humidity,湿度:

单位:%

范围:20~100

说明:目标测量环境下的空气相对湿度。请根据实际测量环境配置,默湿度值配置是否准确将影响测温精度,但影响度较小。

emissivity,发射率:

单位:0.01

范围:0.10~1.00

说明:被测物体表面以辐射的形式释放能量相对强弱的能力。可参考“常见物质发射率表”进行配置,由于被测物体表面可能存在腐蚀、氧化等情况,实际发射率值与参考值可能存在一定差异。发射率配置是否准确将影响测温精度,且影响度较大。

reflection,反射温度:

单位:℃

范围:-40.0~500.0

说明:周围环境物体辐射的能量可能被待测目标表面反射,与待测目标辐射一同被相机接收,造成测温误差。如果周围环境没有特别的高温或低温物体,反射温度配置为环境温度即可。反射温度是否配置准确会影响测温精度,数值与环境温度偏差越大影响度越大。

我们在上面的GUI界面中中按照热红外照片显示的那四个参数值进行设置即可,如图

当然,也可能有特别情况,比如说热红外照片在大疆热红外分析工具3中显示的温度值与实际情况不一样,那么这时候代码转换出来的温度图像可能就有些偏差。那么我们该怎么做呢?

双击其中的某张热红外图像

弹出该热红外图像的情况概览界面

如果查看热红外图像的最高温度和最低温度以及图像中某些点的温度与实际不一样,那么这时候可以在右侧直接调整那四个参数。

个人建议先调整距离,因为距离这个参数对图像温度影响比较大,调整之后温度值变化明显,而其他三个参数对图像温度影响比较小。

可以在1中的位置调整参数值,也可以在2中的位置调整参数值

修改参数之后可以看到温度值变化了,可以直接在最高温度和最低温度那里看到,点击保存可以将热红外的参数直接修改掉,但是如果不想修改,而是只想查看四个参数应该调整到什么值,那么可以只修改参数但是不保存,这样不会影响原图像的四个参数,如下:

距离参数调整前

距离参数调整后

个人建议不要保存,原始图像很重要。个人认为可以分两个不同的方法同时进行:

第一个方法:先记下调整的参数,然后使用代码进行转换,查看转换的温度值是不是与实际相符合。

第二个方法:先备份热红外原始图像,在大疆热红外分析工具3中修改备份的热红外图像的参数再进行转换。

对比上面两个方法,看哪一个方法转换得到的温度与实际更相符。我没有对比过这两个方法,对比过的可以留言或者私信交流讨论。

注意:在调整四个参数值的过程中需要注意四个参数的值不能超过大疆TSDK官方的取值范围,四个参数的范围可在上面的内容中查看到

第三步,批量转换

点击“开始转换”即可开始批量将原始热红外图像转换为温度图像,如下图

转换结束

如果转换过程有图像转换失败,代码会把失败文件自动重试最多三次,一般重试一次即可转换成功

在输出文件夹可看到转换得到的温度图像,转换得到的温度图像为白色,这并不是转换失败了。我们可以在ArcMap软件中打开温度图像进行查看

转换得到的温度图像有GPS信息,可以直接拼接

可拼接成功,拼接成功的完整图像如下

点击图像中的某个像素可知其温度值

这里展示一下转换得到温度图像的温度值与大疆红外热分析工具3上显示的温度值(大家可以看看温度值差异)

图像1

图像2

可以看到转换得到的温度图像的温度值与原始热红外图像的温度值基本一致,没有出现差异很大的情况,但是小部分转换得到温度图像有时候会与原始热红外图像的温度值差个0.1,我猜测这是因为热红外相机的飞行高度超过25米导致的,因为大疆官方说飞行高度超过25米时测温精度会有所下降。

使用拼接软件拼接温度图像的内容这里就不继续说了,可以查看我写的之前的博客

PS:本人也不是什么都懂,还在不断学习当中,写博客只是记录下来跟大家互相探讨交流,希望跟大家互相学习,一起进步