opencv外接圆代码
时间: 2024-05-24 07:09:38 浏览: 90
OpenCV 是一款常用的计算机视觉库,提供了许多函数和工具来处理图像和视频。其中,外接圆是一种常用的图像处理技术,可以用来检测和识别物体。在 OpenCV 中,外接圆可以通过 cv2.minEnclosingCircle() 函数来实现。
具体来说,cv2.minEnclosingCircle() 函数可以接受一个轮廓作为输入,然后计算该轮廓的最小外接圆。该函数返回一个元组 (center, radius),其中 center 是最小外接圆的圆心坐标,radius 是最小外接圆的半径。
以下是一个简单的示例代码,演示如何使用 cv2.minEnclosingCircle() 函数来计算一个二值化图像的最小外接圆:
```python
import cv2
# 读取图像并进行二值化处理
img = cv2.imread('image.png')
gray = cv2.cvtColor(img, 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)
(x,y), radius = cv2.minEnclosingCircle(contours)
center = (int(x), int(y))
radius = int(radius)
# 在原始图像上绘制最小外接圆
cv2.circle(img, center, radius, (0, 255, 0), 2)
# 显示结果图像
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
阅读全文