请用python语言写一个基于opencv的红色颜色识别程序,当识别到红色时输出“shuchu”字样
时间: 2024-03-02 07:52:38 浏览: 56
基于opencv的颜色识别
好的,下面是一个基于OpenCV的红色颜色识别程序,当识别到红色时输出“shuchu”字样:
```python
import cv2
# 设置红色的HSV阈值范围
lower_red = (0, 50, 50)
upper_red = (10, 255, 255)
# 初始化摄像头
cap = cv2.VideoCapture(0)
while True:
# 读取摄像头数据
ret, frame = cap.read()
if not ret:
break
# 转换颜色空间为HSV
hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
# 根据阈值范围获取红色区域的掩码
mask = cv2.inRange(hsv, lower_red, upper_red)
# 对掩码进行位运算,提取红色区域
res = cv2.bitwise_and(frame, frame, mask=mask)
# 显示图像
cv2.imshow('frame', frame)
cv2.imshow('mask', mask)
cv2.imshow('res', res)
# 如果掩码中有红色像素,则输出“shuchu”
if cv2.countNonZero(mask) > 0:
print("shuchu")
# 按下q键退出循环
if cv2.waitKey(1) == ord('q'):
break
# 释放资源
cap.release()
cv2.destroyAllWindows()
```
这段代码会不断读取摄像头数据,并根据设置的红色HSV阈值范围获取红色区域的掩码,从而提取红色区域并显示出来。同时,如果掩码中有红色像素,则会输出“shuchu”字样。按下q键可以退出循环并释放资源。
阅读全文