当前位置: 首页 > news >正文

asp 手机网站深圳市社会组织总会

asp 手机网站,深圳市社会组织总会,天琥设计培训学校地址,长春火车站出站要求基于OpenCV的红绿灯识别 技术背景 为了实现轻舟航天机器人实现红绿灯的识别,决定采用传统算法OpenCV视觉技术。 技术介绍 航天机器人的红绿灯识别主要基于传统计算机视觉技术,利用OpenCV算法对视频流进行处理,以获取红绿灯的状态信息。具…

基于OpenCV的红绿灯识别

技术背景

为了实现轻舟航天机器人实现红绿灯的识别,决定采用传统算法OpenCV视觉技术。

技术介绍

航天机器人的红绿灯识别主要基于传统计算机视觉技术,利用OpenCV算法对视频流进行处理,以获取红绿灯的状态信息。具体而言,该系统通过连接工控机摄像头读取视频流,将视频帧转换成HSV色彩空间的图像,以便更好地识别出图像中的红色像素。

HSV是一种将RGB色彩空间中的点在倒圆锥体中的表示方法,其中色相、饱和度和亮度分别用于描述颜色的不同属性。色调(H)用角度度量,其取值范围为0°~360°,从红色开始按逆时针方向计算,具体的光谱色如黄色、青色和品红等的色调取值为60°、180°和300°,而它们的补色则分别为青色、洋红和黄色。饱和度(S)用于描述颜色接近光谱色的程度,其取值范围为0%~100%,值越大,颜色越饱和。亮度(V)表示颜色明亮的程度,其取值范围为0%(黑)到100%(白)。

在红绿灯识别过程中,系统将视频帧转换成HSV图像后,通过筛选出所有红色像素值,利用切片技术切出图像中的红绿灯兴趣区域。接着,系统通过统计区域中红色像素块数量,设定阈值来判断红绿灯的状态,如果红色像素块数量超过阈值,则判定红绿灯为红灯闪烁,小车禁止通行;反之,如果红色像素块数量小于阈值,则判定红绿灯为绿灯闪烁,小车可以通行。

这种基于传统计算机视觉技术的红绿灯识别系统具有精度高、鲁棒性强等优点,可以在复杂的环境下准确地判断红绿灯的状态,从而为机器人的自主导航和交通安全提供可靠的技术支持。

HSV 模型的三维表示从 RGB 立方体演化而来。设想从 RGB 沿立方体对角线的白色顶点 向黑色顶点观察,就可以看到立方体的六边形外形。六边形边界表示色彩,水平轴表示纯度, 明度沿垂直轴测量。HSV 颜色空间可以用一个圆锥空间模型来描述。圆锥的顶点处,V=0,H 和 S 无定义,代表黑色。圆锥的顶面中心处 V=max,S=0,H 无定义,代表白色。

在这里插入图片描述

代码实现


import cv2
import numpy as np# from cv_nano3_good import Img, Video
def gstreamer_pipeline(capture_width=1280,capture_height=720,display_width=1280,display_height=720,framerate=120,flip_method=0,
):return ("nvarguscamerasrc ! ""video/x-raw(memory:NVMM), width=(int)%d, height=(int)%d, format=(string)NV12, framerate=(fraction)%d/1! ""nvvidconv flip-method=%d ! ""video/x-raw, width=(int)%d, height=(int)%d, format=(string)BGRx ! ""videoconvert ! ""video/x-raw, format=(string)BGR ! ""appsink"% (capture_width,capture_height,framerate,flip_method,display_width,display_height,))def extract_red(img):#转换为hsv颜色空间img_hsv=cv2.cvtColor(img,cv2.COLOR_BGR2HSV)rows,cols,channels=img.shapelower_red=np.array([156,43,46])# lower_red=np.array([157,177,122])# print(lower_red)upper_red=np.array([180,255,255])# print(upper_red)mask1=cv2.inRange(img_hsv,lower_red,upper_red)#拼接两个区间mask=mask1return maskif __name__=='__main__':# if cv2.VideoCapture.isOpened():Video = cv2.VideoCapture(gstreamer_pipeline(flip_method=0), cv2.CAP_GSTREAMER)print('open cam success')while True:while True:ret, Img = Video.read()# cap=cv2.VideoCapture("./test/light.mp4")# Img=cv2.imread("./test/02.jpg")# ret, Img = img.read()# cv2.imshow('./',Img)# print(Img.)img = extract_red(Img)# print(img)h, w = Img.shape[0], Img.shape[1]# print(h)# print(w)# img_cut = img[100:400, 330:600]img_cut=img[450:600,800:1100] #截取roiraw_cut = Img[450:600, 800:1100]# cv2.imshow('./',raw_cut)# cv2.waitKey(0)# cv2.imshow('./',img_cut)# cv2.waitKey(0)count = 0x = img_cut[np.where(img_cut > 250)]count = len(x)print(count)if count >= 1500:print('red')# green_light.publish(False)else:print('green')# cv2.waitKey(30)# green_light.publish(True) 

实现思路:

调取工控机摄像头读取视频流,将图像转成
HSV 通道,筛选出图像中的所有红色的像素值,再利用切片切出图像的兴趣区域,即红绿灯的所在图像
区域,最后统计区域中的红色像素块数量并设定阈值,超过此阈值则可判定红绿灯为红灯闪烁,小车禁
止通行,低于此阈值则可判定红绿灯为绿灯闪烁, 小车可以通行。

具体代码逻辑

这段代码的主要功能是从摄像头或视频流中读取图像,对图像进行红色像素的筛选和统计,以判断红绿灯的状态并输出结果。具体实现过程如下:

  1. 首先定义了一个函数gstreamer_pipeline,用于设置摄像头或视频流的参数,包括分辨率、帧率、翻转方式等。
  2. 接着定义了一个名为extract_red的函数,用于从图像中提取红色像素。该函数首先将图像从BGR色彩空间转换为HSV色彩空间,然后通过设置上下阈值提取红色像素。
  3. 在主程序中,通过调用cv2.VideoCapture函数连接摄像头或视频流,并循环读取图像。对于每一帧图像,首先调用extract_red函数提取红色像素,然后截取图像中的兴趣区域(即红绿灯的所在图像区域),并统计区域中红色像素块数量。如果红色像素块数量超过预设阈值,则判定红绿灯为红灯闪烁,否则判定为绿灯闪烁。
  4. 在输出判断结果后,程序会继续循环读取下一帧图像,直到程序被手动中断。

总的来说,该段代码主要实现了利用OpenCV对摄像头或视频流中的图像进行红绿灯状态判断的功能,其中最核心的部分是对红色像素的筛选和区域中红色像素块数量的统计。

总结

本文介绍了轻舟航天机器人实现红绿灯识别的技术背景和介绍。该系统利用OpenCV算法对视频流进行处理,识别出图像中的红色像素,并设定阈值来判断红绿灯的状态。该系统具有精度高、鲁棒性强等优点,可以为机器人的自主导航和交通安全提供技术支持。文章还介绍了HSV颜色空间的三维表示和代码实现过程仅供了解。

http://www.khdw.cn/news/67268.html

相关文章:

  • 服务器租用大概多少钱seo的内容有哪些
  • 豪利777的seo综合查询上海网站排名优化
  • 怎么查一个网站有没有做301谷歌网站
  • 刘晓忠 网站建设国外域名购买
  • 简述织梦网站上传及安疫情最新资讯
  • 网站买东西第三方怎么做国家优化防控措施
  • 网站开发php支付接口百度引流推广怎么做
  • 邵阳 做网站公司seo外链专员
  • 加盟网站建设案例欣赏百度推广代理商加盟
  • 郑州大学科技园手机网站建设大数据营销
  • 南宁 网站建设 公司培训心得总结
  • 淮南app开发入门seo技术教程
  • 网站建设编程时注意事项长沙seo霸屏
  • 如何通过网站标题找网站大地资源网在线观看免费
  • 关于做网站电话销售seo外链优化方法
  • 价格划算的常州做网站中国网站排名
  • wordpress修改文章点赞数河南自助建站seo公司
  • 重庆舞台搭建招聘seo综合查询系统
  • dw做的网站放文件夹品牌营销公司
  • 青海网站建设免费推广创建网址链接
  • opencart zencart网站建设长春网站关键词排名
  • 有做美食的视频网站么外贸网站外链平台
  • 做公司产品展示网站网络优化公司有哪些
  • 医院网站可以自己做吗搜索网站关键词
  • 企业官方网站的作用升华网络推广软件
  • 苏州技术馆网站建设磁力天堂torrentkitty
  • 有那个网站可以做免费的投票百度一下你就知道下
  • 自学软件开发seo综合查询怎么进入网站
  • 企业网站设计seo百度平台客服联系方式
  • 网站开发 java百度极速版客服电话