写一段py 颜色识别的代码
时间: 2024-05-04 11:02:18 浏览: 6
好的,下面是一段Python颜色识别的代码,使用OpenCV和Numpy库实现:
``` python
import cv2
import numpy as np
# 定义颜色范围
color_ranges = {
'red': [
np.array([170, 50, 50]),
np.array([180, 255, 255])
],
'green': [
np.array([35, 43, 35]),
np.array([90, 255, 255])
],
'blue': [
np.array([100, 50, 50]),
np.array([130, 255, 255])
],
'yellow': [
np.array([20, 100, 100]),
np.array([30, 255, 255])
]
}
# 加载图片
img = cv2.imread('test_img.jpg')
# 转换为HSV空间
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# 遍历颜色范围,找到符合颜色要求的区域
for color, (lower, upper) in color_ranges.items():
mask = cv2.inRange(hsv, lower, upper)
contours, _ = cv2.findContours(mask, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
# 标注颜色区域
for cnt in contours:
x,y,w,h = cv2.boundingRect(cnt)
cv2.rectangle(img,(x,y),(x+w,y+h),(0,255,0),2)
cv2.putText(img, color, (x,y), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 2)
# 显示结果
cv2.imshow('Color Detection', img)
cv2.waitKey(0)
```
这段代码会读取一张图片,然后遍历预定义的颜色范围,使用HSV空间在图片中找到符合要求的颜色区域,并标注出来。您可以根据需要添加或修改颜色范围。