findContours 顶点坐标
时间: 2023-11-02 13:57:01 浏览: 344
`findContours` 是一个在 OpenCV 库中常用的函数,用于查找图像中的轮廓。它可以用于找到轮廓的顶点坐标。下面是一个示例代码,演示如何使用 `findContours` 函数来获取轮廓的顶点坐标:
```python
import cv2
# 读取图像
image = cv2.imread('image.jpg')
# 转换为灰度图像
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# 二值化处理
ret, binary = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)
# 查找轮廓
contours, hierarchy = cv2.findContours(binary, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
# 遍历所有轮廓
for contour in contours:
# 获取顶点坐标
for point in contour:
x, y = point[0]
print(f'顶点坐标:({x}, {y})')
```
在上面的代码中,我们首先读取图像并将其转换为灰度图像。然后,对灰度图像进行二值化处理,以便更好地识别轮廓。接下来,使用 `findContours` 函数查找图像中的轮廓。最后,我们遍历所有轮廓,并输出每个轮廓的顶点坐标。
请注意,`findContours` 函数返回的轮廓是以 numpy 数组的形式表示的,坐标的顺序是 (x, y)。因此,在获取顶点坐标时,我们使用 `point` 来获取每个点的坐标。
阅读全文