python基于opencv颜色识别代码
时间: 2023-09-24 21:11:01 浏览: 128
以下是Python基于OpenCV的颜色识别代码示例:
```python
import cv2
import numpy as np
# 定义要识别的颜色范围
lower_color = np.array([0, 100, 100])
upper_color = np.array([20, 255, 255])
# 读取图像
img = cv2.imread('image.jpg')
# 转换为HSV颜色空间
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# 根据颜色范围提取图像
mask = cv2.inRange(hsv, lower_color, upper_color)
# 对图像进行腐蚀和膨胀操作
kernel = np.ones((5,5), np.uint8)
mask = cv2.erode(mask, kernel)
mask = cv2.dilate(mask, kernel)
# 查找轮廓并绘制矩形框
contours, hierarchy = 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.imshow('result', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个示例中,我们首先定义了要识别的颜色范围,然后读取图像并将其转换为HSV颜色空间。接下来,我们使用`cv2.inRange()`函数根据颜色范围提取图像,并使用腐蚀和膨胀操作对图像进行处理。最后,我们使用`cv2.findContours()`函数查找轮廓,并使用`cv2.rectangle()`函数绘制矩形框来标记识别到的物体。最终结果图像通过`cv2.imshow()`函数显示。
阅读全文