opencv python识别图片中的圆形
时间: 2023-07-31 14:08:42 浏览: 103
要在Python中使用OpenCV识别图片中的圆形,可以使用霍夫圆形检测算法。以下是一个简单的示例代码:
```python
import cv2
# 读取图片
img = cv2.imread('image.png', cv2.IMREAD_GRAYSCALE)
# 高斯滤波
img = cv2.GaussianBlur(img, (9, 9), 2, 2)
# 进行霍夫圆形检测
circles = cv2.HoughCircles(img, cv2.HOUGH_GRADIENT, 1, 50, param1=100, param2=30, minRadius=0, maxRadius=0)
# 绘制检测到的圆形
if circles is not None:
circles = circles[0]
for circle in circles:
center = (circle[0], circle[1])
radius = circle[2]
cv2.circle(img, center, radius, (0, 255, 0), 2)
# 显示结果
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在此代码中,首先读取图片并进行高斯滤波。然后使用`cv2.HoughCircles`函数进行霍夫圆形检测。最后,对检测到的圆形进行绘制并显示结果。需要注意的是,`cv2.HoughCircles`函数的参数需要根据具体情况进行调整,以达到最佳的检测效果。
阅读全文