基于 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()以下为录制的视频和棉花燃烧的图像集三、常见问题解决摄像头打开成功但画面黑屏、花屏已在代码中使用 HM-TM32 专用格式 YUYV、分辨率 256×192 和预热处理可直接解决该问题。报错无法读取帧降低帧率至 8fps、减小缓冲区Windows 平台固定使用 CAP_DSHOW 模式打开摄像头。无法触发录制可适当调整火情判断阈值gray.mean() 65数值越小灵敏度越高适配棉花阴燃等低热目标。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2605240.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!