用python opencv识别一个圆孔的轮廓,并输出中心坐标
时间: 2023-02-15 08:25:54 浏览: 91
。
我以下是一个简单的示例代码,用于识别一个圆孔的轮廓,并输出中心坐标:
```python
import cv2
import numpy as np
# 读取图像
img = cv2.imread("circle.jpg")
# 转换为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 高斯模糊
blurred = cv2.GaussianBlur(gray, (5, 5), 0)
# Canny边缘检测
canny = cv2.Canny(blurred, 50, 150)
# 查找轮廓
cnts = cv2.findContours(canny.copy(), cv2.RETR_EXTERNAL,
cv2.CHAIN_APPROX_SIMPLE)
cnts = imutils.grab_contours(cnts)
# 如果找到轮廓
if len(cnts) > 0:
# 按大小排序,以便找到最大的轮廓
cnts = sorted(cnts, key=cv2.contourArea, reverse=True)
# 取最大轮廓
c = cnts[0]
# 计算轮廓的矩形边界
((x, y), radius) = cv2.minEnclosingCircle(c)
# 计算轮廓的中心
M = cv2.moments(c)
center = (int(M["m10"] / M["m00"]), int(M["m01"] / M["m00"]))
# 输出中心坐标
print("中心坐标:", center)
```