python cv2 找绿色块 并获取坐标
时间: 2024-02-18 22:00:57 浏览: 87
好的,我可以帮你解决这个问题。首先,你需要安装OpenCV库。然后,你可以使用以下代码来找到图像中所有绿色块的坐标:
```python
import cv2
# 读取图像
img = cv2.imread("image.jpg")
# 将图像从 BGR 色彩空间转换为 HSV 色彩空间
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# 设置绿色的阈值范围
lower_green = (29, 86, 6)
upper_green = (64, 255, 255)
# 通过 inRange 函数获取绿色区域的掩膜
mask = cv2.inRange(hsv, lower_green, upper_green)
# 使用 findContours 函数找到绿色块的轮廓
contours, hierarchy = cv2.findContours(mask, cv2.RETR_EXTERNAL, 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)
print("绿色块的坐标:({},{})".format(x+w/2, y+h/2))
# 显示图像
cv2.imshow("image", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
这个代码会读取一张名为 `image.jpg` 的图片,然后将该图片从 BGR 色彩空间转换为 HSV 色彩空间。接着,它会设置绿色的阈值范围,并使用 `inRange` 函数获取绿色区域的掩膜。然后,它会使用 `findContours` 函数找到绿色块的轮廓,并遍历轮廓并绘制矩形框。最后,它会显示图像,并输出每个绿色块的中心坐标。
阅读全文