opencv简单方式红绿灯状态识别

本文介绍了一种利用OpenCV识别视频中红绿灯状态的方法。通过将视频转为灰度,划定感兴趣区域,并分析该区域的亮度来判断红绿灯的实时状态。文章详细阐述了步骤,包括装包导入、读入视频、划定区域、判断和输出,并提供了全部代码。
摘要由CSDN通过智能技术生成

前言:代码用于识别一个固定视角下的视频中的红绿灯的状态。

做法:先将原视频转为灰度视频,这样就不用区分颜色,划定出需要的感兴趣区域,判断感兴趣区域的值,得出那个区域的灯在量,得出此时红绿灯的实时状态。

 

 一、使用步骤

 1、装包导入库

首先安装opencv

导入以下库

import cv2
import numpy as np

2、读入视频并定义

cap = cv2.VideoCapture('红绿灯.mp4')  # 读取视频
while cap.isOpened():
    ret, frame = cap.read()
    # 调整窗口大小
    cv2.namedWindow("frame", 0)  # 0可调大小,注意:窗口名必须imshow里面的一窗口名一致
    cv2.resizeWindow("frame", 960, 540)  # 设置长和宽
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)  # 将视频转为灰度视频

3、划定感兴趣区并获得值

将红绿灯的区域分别选出来

    # 划定三个感兴趣区域分别为R, G, B
    # ROI划定规则:图像矩阵名称[上 : 下, 左 : 右]
    R = gray[452:454, 594:596]
    Y = gray[446:448, 630:632]
    G = gray[444:446, 672
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值