opencv 在相近的颜色中标注矩形
时间: 2023-12-04 07:12:34 浏览: 74
opencv 画矩形
5星 · 资源好评率100%
如果需要在相近的颜色中标注矩形,可以使用OpenCV中的颜色空间转换和阈值分割等技术来实现。
以下是一个使用颜色空间转换和阈值分割来标注相近颜色矩形的OpenCV代码示例:
```python
import cv2
import numpy as np
# 读取图像
img = cv2.imread('input.jpg')
# 将图像转换为HSV颜色空间
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# 设定蓝色的HSV范围
lower_blue = np.array([100, 50, 50])
upper_blue = np.array([130, 255, 255])
# 对图像进行阈值分割
mask = cv2.inRange(hsv, lower_blue, upper_blue)
# 在二值图像上查找轮廓
contours, _ = cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
# 绘制矩形框
for contour in contours:
if cv2.contourArea(contour) > 100:
x, y, w, h = cv2.boundingRect(contour)
cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 2)
# 保存结果
cv2.imwrite('output.jpg', img)
```
在上面的示例中,首先读取了一张名为"input.jpg"的图像。接着,将图像转换为HSV颜色空间,并设定蓝色的HSV范围。然后,使用阈值分割将图像转换为二值图像,并在二值图像上查找轮廓。最后,将检测出的矩形框绘制在原图像上,并保存为"output.jpg"。
需要注意的是,该示例中设定了蓝色的HSV范围,如果需要检测其他颜色的矩形,需要根据具体情况进行相应的调整。另外,阈值的选择也会影响矩形检测的效果,需要根据具体情况进行调整。
阅读全文