python利用opencv简单识别红绿灯

本文介绍如何使用Python结合OpenCV库进行简单的红绿灯颜色识别。通过图像预处理、色彩空间转换和颜色阈值设定,实现对交通信号灯颜色的自动判断,为智能驾驶提供基础支持。
摘要由CSDN通过智能技术生成
#先装包和环境
import cv2
from PIL import Image
import numpy as np
#导入视频并自定义
cor_x, cor_y = -1, -1#定义自变量
fourcc = cv2.VideoWriter_fourcc(*'XVID')  # 使用XVID编码器
camera = cv2.VideoCapture('红绿灯.mp4')  # 从文件读取视频,需要修改成自己的文件的路径即可进行测试
fps = camera.get(cv2.CAP_PROP_FPS)  # 获取视频帧率
print('视频帧率:%d fps' % fps)
cor = np.array([[1, 1]])  # 初始值并无意义,只是为了能够使用np.row_stack函数

 

#创建坐标函数,并且赋予变量
def OnMouseAction(event, x, y, flags, param):#创建回调函数(even:指触发阶跃信号,点击鼠标返回实时坐标。
    global cor_x, cor_y, cor#将变量设置为全局变量.使其在下面函数外也能调用
    if event == cv2.EVENT_LBUTTONDOWN:
        print("左键点击")
        print("%s" % x, y)
        cor_x, cor_y = x, y#鼠标点击的x,y坐标赋予cor_x,cor_y
        cor_m = [cor_x, cor_y]
        cor = np.row_stack((cor, cor_m))#将鼠标返回的坐标进行矩形合并,并赋予全局变量
    elif event == cv2.EVENT_LBUTTONUP:
        cv2.line(img, (cor_x, cor_y), (cor_x, cor_y), (255,
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值