用python识别三种颜色
时间: 2023-06-09 12:07:58 浏览: 158
可以使用Python中的OpenCV库来实现对三种颜色的识别。具体步骤如下:
1. 导入OpenCV库和NumPy库
```python
import cv2
import numpy as np
```
2. 读取图片并转化成HSV颜色空间
```python
img = cv2.imread('image.jpg')
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
```
3. 定义三种颜色的范围,红色、绿色和蓝色
```python
# 红色
lower_red = np.array([0,43,46])
upper_red = np.array([10,255,255])
# 绿色
lower_green = np.array([35,43,46])
upper_green = np.array([77,255,255])
# 蓝色
lower_blue = np.array([100,43,46])
upper_blue = np.array([124,255,255])
```
4. 使用inRange函数获取指定颜色范围内的像素点,并进行二值化处理
```python
# 红色
mask_red = cv2.inRange(hsv, lower_red, upper_red)
# 绿色
mask_green = cv2.inRange(hsv, lower_green, upper_green)
# 蓝色
mask_blue = cv2.inRange(hsv, lower_blue, upper_blue)
```
5. 对图像进行位运算,将目标区域显示出来
```python
# 红色
res_red = cv2.bitwise_and(img,img, mask= mask_red)
# 绿色
res_green = cv2.bitwise_and(img,img, mask= mask_green)
# 蓝色
res_blue = cv2.bitwise_and(img,img, mask= mask_blue)
```
6. 展示识别结果
```python
cv2.imshow('res_red',res_red)
cv2.imshow('res_green',res_green)
cv2.imshow('res_blue',res_blue)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
这样,就可以实现对三种颜色的识别了。