红色,蓝色,黑色,白色识别代码python实现
时间: 2023-11-30 21:03:42 浏览: 56
python实现超简单的视频对象提取功能
可以使用Python中的OpenCV库来实现颜色识别。以下是一个简单的示例代码,可以识别红色,蓝色,黑色和白色:
```python
import cv2
import numpy as np
# 定义颜色范围
lower_red = np.array([0, 50, 50])
upper_red = np.array([10, 255, 255])
lower_blue = np.array([110, 50, 50])
upper_blue = np.array([130, 255, 255])
lower_black = np.array([0, 0, 0])
upper_black = np.array([180, 255, 30])
lower_white = np.array([0, 0, 200])
upper_white = np.array([180, 30, 255])
# 读取图像
img = cv2.imread('test.jpg')
# 转换为HSV颜色空间
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# 定义颜色掩码
mask_red = cv2.inRange(hsv, lower_red, upper_red)
mask_blue = cv2.inRange(hsv, lower_blue, upper_blue)
mask_black = cv2.inRange(hsv, lower_black, upper_black)
mask_white = cv2.inRange(hsv, lower_white, upper_white)
# 通过颜色掩码过滤图像
res_red = cv2.bitwise_and(img, img, mask=mask_red)
res_blue = cv2.bitwise_and(img, img, mask=mask_blue)
res_black = cv2.bitwise_and(img, img, mask=mask_black)
res_white = cv2.bitwise_and(img, img, mask=mask_white)
# 显示结果
cv2.imshow('red', res_red)
cv2.imshow('blue', res_blue)
cv2.imshow('black', res_black)
cv2.imshow('white', res_white)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上述代码中,我们首先定义了红色、蓝色、黑色和白色的颜色范围。然后我们读取图像,并将其转换为HSV颜色空间。接着,我们使用`cv2.inRange()`函数根据颜色范围生成颜色掩码。最后,我们使用`cv2.bitwise_and()`函数将颜色掩码应用到原始图像上,以获得过滤后的图像。最后,我们使用`cv2.imshow()`函数来显示结果。
阅读全文