树莓派外接摄像头火焰检测模块

文章介绍了使用OpenCV库在Python中实现的火焰检测程序,通过调整帧率减少树莓派的计算负担。然而,由于直接使用颜色阈值,检测效果受到光照条件影响,作者计划转向YOLO模型以提高准确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import cv2
import time
import numpy as np

# 打开摄像头
cap = cv2.VideoCapture(0)   # 参数0表示自己电脑的摄像头,1则一般表示电脑外接的摄像头

# 设置开始时间
start_time = time.time()
# 设置帧率
frame_rate = 2  # 每秒两帧

# 循环读取摄像头数据
while True:
    # 检查是否需要读取下一帧
    elapsed_time = time.time() - start_time
    if elapsed_time < 1 / frame_rate:
        continue

    # 读取一帧视频数据
    ret, frame = cap.read()
    if not ret:
        break

    # 进行火焰检测

    img = frame  # 直接将收集到的帧率当作图片使用
    redThre = 115  # 指的是115~135红色分量阈值
    sThre = 65  # 指的是55~65饱和度阈值

    B = img[:, :, 0]
    G = img[:, :, 1]
    R = img[:, :, 2]

    B1 = img[:, :, 0] / 255
    G1 = img[:, :, 1] / 255
    R1 = img[:, :, 2] / 255
    minValue = np.array(
        np.where(R1 <= G1, np.where(G1 <= B1, R1, np.where(R1 <= B1, R1, B1)), np.where(G1 <= B1, G1, B1)))
    sumValue = R1 + G1 + B1
    # HSI中S分量计算公式
    S = np.array(np.where(sumValue != 0, (1 - 3.0 * minValue / sumValue), 0))
    Sdet = (255 - R) / 20
    STh
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值