python - 如何从 cv2.HoughCircles 中找到最佳圆

标签 python opencv

我正在使用

cv2.HoughCircles

Python 的函数。

我想在这样的图像中找到圆圈:

enter image description here

在此图像中,有一个大圆圈和许多小圆圈。我只想要最大的。

图像的尺寸为 280x300 像素,但如果我将函数参数设置为 minRadius=90 和 maxRadius=150

circles = cv2.HoughCircles(edges, cv2.cv.CV_HOUGH_GRADIENT, 1, 30,
>               param1=20,
>               param2=10,
>               minRadius=80,
>               maxRadius=150)

print (circles)

我发现这样的输出:

  [[[ 149.5         125.5         141.63510132]
  [ 141.5         155.5         112.5544281 ]
  [ 173.5         144.5         103.35617828]
  [ 115.5         134.5          98.32852936]
  [ 173.5         105.5          87.82083893]
  [ 174.5         176.5          85.20856476]
  [ 130.5          99.5          83.69289398]
  [ 105.5         165.5          81.62413788]
  [ 141.5         187.5          80.62567902]
  [  75.5         134.5         104.03124237]]]

所以,我认为所有这些圈子都是可能的,但可能其中一个结果比其他结果最好。我怎样才能找到它?

最佳答案

第四个函数的参数是检测到的圆心之间的最小距离。要仅查找一个圆圈,您只需将此参数设置得更大即可。

关于python - 如何从 cv2.HoughCircles 中找到最佳圆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41189556/

相关文章:

python - url_for : how to look into another folder other than static

python - 根据列日期在数据框中添加每月的行

Python类函数默认变量是类对象?

python - np.mean 的 Numba 失败

python - 从过程中排除某些尺寸的图像(OpenCV、Python)

c++ - openCV features2D 中的 `query` 和 `train` 是什么

c++ - 我想使用 c++/opencv 将一些数据写入 .txt 文件

python - 通过 PyXLL 加载 scipy 时出现问题 - 是否有人成功通过 PyXLL 加载 Scipy?

c++ - OpenCV 中的侵 eclipse

python - 使用opencv和pyaudio从网络摄像头录制视频和音频