python opencv多点找色
时间: 2023-10-05 20:05:42 浏览: 64
以下是使用Python和OpenCV进行多点找色的示例代码:
```python
import cv2
import numpy as np
# 设置要查找的颜色,这里查找红色
lower_red = np.array([0, 0, 255-30])
upper_red = np.array([0, 0, 255])
# 读取要查找的图片
img = cv2.imread('test.jpg')
# 转换为HSV颜色空间
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# 找到颜色区域
mask = cv2.inRange(hsv, lower_red, upper_red)
# 显示结果
cv2.imshow('mask', mask)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
要查找多个颜色,可以使用多个`inRange()`函数并使用`cv2.bitwise_or()`函数将它们合并在一起:
```python
# 设置要查找的颜色,这里查找红色和黄色
lower_red = np.array([0, 0, 255-30])
upper_red = np.array([0, 0, 255])
lower_yellow = np.array([30, 255-30, 255-30])
upper_yellow = np.array([50, 255, 255])
# 读取要查找的图片
img = cv2.imread('test.jpg')
# 转换为HSV颜色空间
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# 找到颜色区域
mask_red = cv2.inRange(hsv, lower_red, upper_red)
mask_yellow = cv2.inRange(hsv, lower_yellow, upper_yellow)
mask = cv2.bitwise_or(mask_red, mask_yellow)
# 显示结果
cv2.imshow('mask', mask)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
注意,如果要查找的颜色比较复杂,可能需要先进行图像分割或其他预处理步骤来提高查找的准确性。