opencv物体颜色识别
时间: 2023-09-19 15:09:26 浏览: 40
OpenCV可以用于物体颜色识别,以下是一个基本的代码示例:
```python
import cv2
import numpy as np
# 读取图片
img = cv2.imread('image.jpg')
# 将图片转换为HSV颜色空间
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# 设置要寻找颜色的范围
lower_red = np.array([0, 50, 50])
upper_red = np.array([10, 255, 255])
# 根据颜色范围寻找颜色
mask = cv2.inRange(hsv, lower_red, upper_red)
# 对图片进行腐蚀和膨胀
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 contour in contours:
x, y, w, h = cv2.boundingRect(contour)
cv2.rectangle(img, (x, y), (x+w, y+h), (0, 255, 0), 2)
# 显示结果
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
这段代码会读取一张图片,将其转换为HSV颜色空间,然后根据设置的颜色范围寻找颜色,并对图片进行腐蚀和膨胀操作,最后寻找物体的轮廓并在原图上绘制矩形框。你可以根据需要修改颜色范围等参数。