python cv2轮廓内的坐标
时间: 2023-07-29 17:08:19 浏览: 78
在使用OpenCV和Python中,可以使用cv2.findContours函数来找到图像中的轮廓,并使用cv2.drawContours函数绘制轮廓。要获取轮廓内的坐标,可以使用cv2.contourArea函数计算轮廓的面积,并使用cv2.moments函数计算轮廓的几何矩,包括重心坐标。
下面是一个示例代码,演示如何获取轮廓内的坐标:
```python
import cv2
# 读取图像
image = cv2.imread('image.jpg')
# 将图像转换为灰度图
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# 二值化处理
ret, thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)
# 查找轮廓
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
# 遍历轮廓
for contour in contours:
# 计算轮廓面积
area = cv2.contourArea(contour)
# 计算轮廓的几何矩
moments = cv2.moments(contour)
# 计算重心坐标
if moments['m00'] != 0:
cx = int(moments['m10'] / moments['m00'])
cy = int(moments['m01'] / moments['m00'])
# 输出重心坐标
print("Contour center coordinates: ({}, {})".format(cx, cy))
```
请注意,该代码假设图像中只有一个轮廓。如果图像中有多个轮廓,您可能需要根据自己的需求进行适当的处理。
阅读全文