news 2026/5/12 4:03:27

基于 HM-TM32 红外摄像头:棉花燃烧+起火自动录制 30 秒视频

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于 HM-TM32 红外摄像头:棉花燃烧+起火自动录制 30 秒视频

在棉花仓储、纺织原料监测等实际场景中,利用 HM-TM32 微型红外测温机芯实现非接触式火情监测具备极高的实用价值,本文基于 Windows 笔记本环境,实现红外摄像头实时画面显示,并在检测到棉花起火或高温异常时自动录制 30 秒视频留存证据。

一、方案说明与硬件适配

本方案基于 HM-TM32-3RG/ST 红外测温机芯开发,该机芯分辨率为 256×192,支持 YUYV 视频格式输出,在 Windows 系统下需使用专用参数才能稳定读取图像,避免出现花屏、黑屏、闪跳等问题,代码采用分离式图像读取方式,先抓取帧再解析帧,大幅提升红外摄像头的兼容性与稳定性,同时通过画面平均亮度判断是否出现火情,检测到异常后自动触发视频录制,全程无需人工干预。

二、核心代码

import cv2 import time # 配置 CAM_ID = 1 VIDEO_DURATION = 30 # 录制30秒 RECORD_FLAG = False START_TIME = 0 # Windows 专用打开方式(你已验证可用) cap = cv2.VideoCapture(CAM_ID, cv2.CAP_DSHOW) # 【HM-TM32 原厂参数】你已验证可用 cap.set(cv2.CAP_PROP_FOURCC, cv2.VideoWriter_fourcc(*'YUYV')) cap.set(cv2.CAP_PROP_FRAME_WIDTH, 256) cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 192) cap.set(cv2.CAP_PROP_FPS, 8) cap.set(cv2.CAP_PROP_BUFFERSIZE, 1) # 检查是否打开 if not cap.isOpened(): print(f"摄像头 {CAM_ID} 打开失败!") exit() print(f"✅ 摄像头 {CAM_ID} 已打开,正在显示画面...") # 预热(解决启动花屏) for i in range(15): cap.grab() time.sleep(0.08) # 视频保存设置 fps = 8 fourcc = cv2.VideoWriter_fourcc(*'XVID') out = None # 主循环 while True: cap.grab() ret, frame = cap.retrieve() if not ret: print("⚠️ 读取失败,重试中...") continue # ---------------------- 起火检测(高温高亮)---------------------- gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) fire_detected = gray.mean() > 65 # 温度/亮度阈值 # ---------------------- 自动录制30秒 ---------------------- if fire_detected and not RECORD_FLAG: RECORD_FLAG = True START_TIME = time.time() out = cv2.VideoWriter("fire_record.avi", fourcc, fps, (256, 192)) print("🔥 检测到棉花起火,开始录制 30 秒视频") if RECORD_FLAG: out.write(frame) # 显示录制状态 cv2.putText(frame, "RECORDING...", (5, 25), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 0, 255), 1) # 到时间停止 if time.time() - START_TIME >= VIDEO_DURATION: RECORD_FLAG = False out.release() out = None print("✅ 30秒视频录制完成,已保存为 fire_record.avi") # 显示状态 if fire_detected: cv2.putText(frame, "FIRE", (5, 15), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 0, 255), 1) else: cv2.putText(frame, "NORMAL", (5, 15), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 1) # 显示画面 cv2.imshow("HM-TM32 Infrared Test", frame) # 按 Q 退出 if cv2.waitKey(1) & 0xFF == ord('q'): break # 释放资源 cap.release() if out is not None: out.release() cv2.destroyAllWindows()

以下为录制的视频和棉花燃烧的图像集

三、常见问题解决

  1. 摄像头打开成功但画面黑屏、花屏:已在代码中使用 HM-TM32 专用格式 YUYV、分辨率 256×192 和预热处理,可直接解决该问题。
  2. 报错无法读取帧:降低帧率至 8fps、减小缓冲区,Windows 平台固定使用 CAP_DSHOW 模式打开摄像头。
  3. 无法触发录制:可适当调整火情判断阈值gray.mean() > 65,数值越小灵敏度越高,适配棉花阴燃等低热目标。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/12 4:03:27

从HEX到芯片:使用J-Flash实现高效固件烧录与生产级加密

1. 认识J-Flash:你的芯片烧录好帮手 第一次接触J-Flash时,我正为一个量产项目发愁——需要给500片GD32F103烧录固件。手动用IDE一个个烧?效率太低;找代工厂?成本太高。直到同事推荐了J-Flash,我才发现原来烧…

作者头像 李华
网站建设 2026/5/12 4:03:26

ViGEmBus终极指南:3步掌握Windows游戏手柄模拟核心技术

ViGEmBus终极指南:3步掌握Windows游戏手柄模拟核心技术 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus ViGEmBus是一款开源的Windows内核级驱动程…

作者头像 李华
网站建设 2026/5/12 4:02:27

深度重构:AI Native 时代的研发组织演进与驾驭层工程

大家好,我是玄姐。PS:SDD 和 Harness 工程干货直播,欢迎点击预约,直播见。核心观察:系统性降效与局部的狂欢最近一次针对深度使用 AI 编程的工程师访谈揭示了一个反直觉的断层:微观层面的狂热:纯…

作者头像 李华
网站建设 2026/5/12 4:00:55

安装DevEco Testing

下载安装包 访问官网:https://developer.huawei.com/consumer/cn/develop/ 可以看到 DevEco Testing的链接: 点击进去,跳转到页面https://developer.huawei.com/consumer/cn/deveco-testing/ 点击 立即下载,跳转到页面https…

作者头像 李华
网站建设 2026/5/12 3:57:33

水下折射相机标定与三维重建算法【附代码】

✨ 长期致力于水下相机标定、折射相机模型、位姿求解、特征匹配、三维重建研究工作,擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅如需沟通交流,点击《获取方式》 (1)基于平行直线消失点的折射相…

作者头像 李华
网站建设 2026/5/12 3:53:32

从AMD ARM合资案看半导体技术路线、生态与战略抉择

1. 项目概述:从一篇旧文看半导体巨头的战略抉择2016年初,EE Times上的一篇评论文章《Why AMD Should ARM China》在半导体圈内激起了一阵讨论。文章的核心观点很直接:当时正处于低谷期的AMD,应该效仿竞争对手高通(Qual…

作者头像 李华