opencv-python颜色识别的代码
时间: 2023-05-29 15:07:06 浏览: 151
以下是一个简单的颜色识别示例,使用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_green = np.array([50, 50, 50])
upper_green = np.array([70, 255, 255])
# 读取图像并转换为HSV格式
img = cv2.imread('color_image.jpg')
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_green = cv2.inRange(hsv, lower_green, upper_green)
# 对原始图像进行掩膜操作,提取出指定颜色的区域
res_red = cv2.bitwise_and(img, img, mask=mask_red)
res_blue = cv2.bitwise_and(img, img, mask=mask_blue)
res_green = cv2.bitwise_and(img, img, mask=mask_green)
# 显示结果
cv2.imshow('Original Image', img)
cv2.imshow('Red Region', res_red)
cv2.imshow('Blue Region', res_blue)
cv2.imshow('Green Region', res_green)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个例子中,我们首先定义了三个颜色的范围:红色、蓝色和绿色。然后,我们读取了一个图像,并将其转换为HSV格式。接下来,我们使用`cv2.inRange()`函数创建了三个掩膜,分别用于提取红色、蓝色和绿色区域的像素。最后,我们使用`cv2.bitwise_and()`函数将原始图像与掩膜进行操作,提取出指定颜色的区域,并将其显示出来。
请注意,这个例子只是一个基础示例,您可以根据需要修改颜色范围,并添加更多的颜色。