python识别视频中⽕焰_监控视频中⽕焰检测算法
基于视频的⽕焰的检测
如果通过采集监控摄像头的画⾯,监控⼴⼤区域,发现着⽕区域,能够快速报警的话,就可以有效提⾼监控的效果,提早报警,⼤⼤减少财产损失和⼈员伤亡.
我们视觉上发现⽕灾的途径有2个:
通过观察⽕焰,及时发现⽕灾.
通过观察烟雾,及时发现⽕情.
我们今天就对⽕焰的视觉检测做个简单的实验.
⽕焰
⽕焰检测的算法
⼀般情况下⽕焰的颜⾊都是明亮的红⾊.采⽤颜⾊过滤的⽅法,增加⼀个⾼低的过滤掩码层,就可以把⽕焰从图⽚中单独过滤出来,这个⽅法⽐简单,也适⽤于对特定颜⾊物体的跟踪.
⼀般是这样处理的:
采集图像
把BGR颜⾊空间转换成HSV空间
定义⾼通和低通的滤波
⽣产过滤的掩码与图像运算
最终⽣成过滤后的⽕焰图像
fire0.gif
fire1.gif
import cv2
import numpy as np
video_file = "v"
video = cv2.VideoCapture(video_file)
while True:
(grabbed, frame) = ad()
if not grabbed:
break
blur = cv2.GaussianBlur(frame, (21, 21), 0)
hsv = cv2.cvtColor(blur, cv2.COLOR_BGR2HSV)
lower = [18, 50, 50]
upper = [35, 255, 255]
lower = np.array(lower, dtype="uint8")
upper = np.array(upper, dtype="uint8")
学python看谁的视频比较好
mask = cv2.inRange(hsv, lower, upper)
output = cv2.bitwise_and(frame, hsv, mask=mask)
cv2.imshow("output", output)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cv2.destroyAllWindows()
本次代码测试获得的图像只是过滤其他背景或⽕焰的图像,当然在理想条件下可以检测⽕焰.
可是在实际的过程中,灯光或⽕光的映射或其他橘红⾊的物体反射都可以透过过滤显⽰出来,使得⽕焰的检测准确性⼤⼤降低.
考虑的我们⼈类判断⽕焰的经验还是靠形状和颜⾊的特征来判断,所以最终的算法还是需要深度学习模型来处理,只是⽤上⽕焰的过滤算法,让⽕焰的特征更加明显,使得深度学习处理起来更加精确和快速.
下⼀步我们将把⽕焰的图像通过过滤后形成特征图像,作为训练集,真正做⼀个⽕焰检测模型.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。