使用大疆TSDK提取热红外图像(RJPG)温度信息,热红外图像转tiff或tif,并使用pix4d将tiff或tif进行拼接 | 热红外照片温度信息提取(重制版)
有些事情重复做多次了才注意到之前有哪些步骤操作不规范......大疆无人机拍摄的热红外照片RJPG的温度只能用大疆红外热分析工具3进行查看原始热红外图像的像素点的值不是温度值所以原始热红外照片很难在实际中应用。我们需要将其转换为温度图像温度图像为单波段图像tif、tiff格式像素点的值为温度值可以直接在arcmap等软件中查看温度情况。图1 原始热红外照片通过大疆官网我们知道需要结合大疆的TSDK工具进行开发编写代码才能将热红外照片转换成像素点代表温度信息的TIFF或者TIF图像转成TIFF或者TIF之后才能将热红外图像拼接成为一整张图。方法总结起来如下1结合大疆TSDK进行开发提取热红外照片温度信息对热红外照片进行转换得到像素点为温度值的TIFF或者TIF图像。2在Pix4Dmapper软件中进行空三和拼接以保留温度细节。1.结合大疆TSDK进行二次开发大疆TSDK的版本为dji_thermal_sdk_v1.4_20220929也可以使用最新版本。将解压缩的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图像可以保留原始图像的位置信息。2.热红外照片温度信息提取之前写的博客内容方法不太对这里更正一下代码需要设置四个参数这四个参数分别为测量距离环境湿度发射率反射温度。- 测温距离待测目标的距离。红外热像仪接收物体自身辐射的红外线生成热像图距离越远红外辐射衰减越多。红外热像仪出厂时默认的标定距离一般是固定的在这个距离测温最精确距离过近或过远都会增大测温误差。- 相对湿度目标测量环境下的空气相对湿度。请根据实际测量环境配置默认 70 即表示相对湿度为 70%取值范围 [20~100]。湿度值配置是否准确将影响测温精度但影响度较小。- 发射率被测物体表面以辐射的形式释放能量相对强弱的能力。可参考“常见物质发射率表”进行配置由于被测物体表面可能存在腐蚀、氧化等情况实际发射率值与参考值可能存在一定差异。发射率配置是否准确将影响测温精度且影响度较大。- 反射温度周围环境物体辐射的能量可能被待测目标表面反射与待测目标辐射一同被相机接收造成测温误差。如果周围环境没有特别的高温或低温物体反射温度配置为环境温度即可。反射温度是否配置准确会影响测温精度数值与环境温度偏差越大影响度越大。我们先用大疆的红外热分析工具3DJI Thermal Analysis Tool 3查看拍摄的热红外图像。添加文件夹中的所有图像先点击第一张热红外图像进行查看我们可以看到这张图像的一些基本信息以及查看每个像素点的温度值。其中特别重要的是那四个参数的值测量距离环境湿度发射率反射温度我们需要将这四个值记住。之所以说那四个参数的值重要是因为在代码转换前需要进行设置。我们一开始的时候是难以知道其应该设置什么数值的加上大疆TSDK官方文档里面说无人机拍摄热红外照片飞行高度超过25米的测量距离参数也只能设置为25米个人见解我觉得这有点误导了......但是这样会带来一些问题那就是需要不断调整其他三个参数不断进行转换看看哪个参数组合转换出来的图像温度值最符合实际这是非常费时费力的。我之前没有注意到这一点。但是如果忽略大疆TSDK官方的说法将测量距离参数设置为上述查看到的5米其他参数也是这样进行设置那么转换得到的温度图像中的温度会很接近实际可能误差在3到5度之间这个时候就可以慢慢调整参数进行微调了。可能大家会觉得误差也不小但是根据我的经验如果根据实际将测量距离设置为25米温度误差会更大。根据记住的那四个参数的值设置代码里面那四个参数变量的值然后即可进行转换。如何查看转换得到的温度图像与实际是否一致呢我们可以先在大疆的红外热分析工具3DJI Thermal Analysis Tool 3里面查看某一个点的温度值即然后查看转换得到的温度图像对应点的温度值是否一致可以使用ArcMap进行查看如下实际温度为38.2度转换之后温度为41.7相差3.5度。这时候可以进行参数微调使得转换之后的温度值更接近实际。3.pix4d拼接图像打开pix4d新建项目添加路径建议使用这个一次性导入全部点击Next会显示读取EXIF数据没有的话拼接可能会出现问题不用设置什么直接点Next不用设置什么直接点Next选择左侧的“Thermal Camera”取消勾选“开始处理”点击“Finish”选择左下方的“处理选项”选择“3.DSM正射影像和指数”勾选图中所标选项然后点击“OK”点击“开始”即可开始拼接拼接需要时间比较多慢慢等4.拼接报错问题和解决方案我在拼接M3T相机的时候报错提示[Error]: No calibrated cameras. 和 [Error]: Error e0046: Processing failed. No calibrated cameras.这个问题我目前已经找到了一个解决方案。出现该错误的原因可能是航向重叠没有大于等于80%旁向重叠没有大于等于70%也有可能是该热红外相机拍摄的数据在前面的代码处理后相机参数不对了需要重新调整相机参数。解决方案就是使用较低版本的pix4d进行拼接或者使用其他拼接软件进行拼接。PS:本人也不是什么都懂还在不断学习当中希望跟大家互相学习一起进步

相关新闻

Windows内存清理神器:3分钟让你的老旧电脑重获新生!

Windows内存清理神器:3分钟让你的老旧电脑重获新生!

Windows内存清理神器:3分钟让你的老旧电脑重获新生! 【免费下载链接】memreduct Lightweight real-time memory management application to monitor and clean system memory on your computer. 项目地址: https://gitcode.com/gh_mirrors/me/memreduc…

2026/10/26 16:06:30 阅读更多 →
CAN通信错误帧分析

CAN通信错误帧分析

五大错误帧:位错误、填充错误、CRC错误、格式错误、应答错误一、位错误1、表现形式:发送节点或者接收节点发送某个位,且该位为隐性。但在回读时总线上是显性,该错误即为位错误。2、产生原因:①物理层故障:线…

2026/10/23 17:18:53 阅读更多 →
mGBA终极配置指南:从入门到精通的全平台Game Boy Advance模拟方案

mGBA终极配置指南:从入门到精通的全平台Game Boy Advance模拟方案

mGBA终极配置指南:从入门到精通的全平台Game Boy Advance模拟方案 【免费下载链接】mgba mGBA Game Boy Advance Emulator 项目地址: https://gitcode.com/gh_mirrors/mg/mgba 还记得那些经典的Game Boy Advance游戏吗?《口袋妖怪》、《塞尔达传说…

2026/10/25 0:46:03 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/26 12:00:21 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/25 22:36:10 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/26 4:52:12 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/26 12:00:21 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/26 5:00:37 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/26 3:16:46 阅读更多 →

日新闻

周新闻

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/26 12:00:19 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/25 13:21:54 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/26 8:34:37 阅读更多 →