gpt4 book ai didi

python - 嘈杂图像中的圆圈检测

转载 作者:行者123 更新时间:2023-12-02 17:26:34 25 4
gpt4 key购买 nike

我有气泡筏的以下图像
enter image description here

这是我用来检测圆的代码:

import cv2
import numpy as np
import sys

img = cv2.imread(sys.argv[1],0)
img = cv2.medianBlur(img,5)
cimg = cv2.cvtColor(img,cv2.COLOR_GRAY2BGR)

circles = cv2.HoughCircles(img,cv2.HOUGH_GRADIENT,1,20,
param1=50,param2=30,minRadius=5,maxRadius=25)

circles = np.uint16(np.around(circles))
for i in circles[0,:]:
# draw the outer circle
cv2.circle(cimg,(i[0],i[1]),i[2],(0,255,0),2)
# draw the center of the circle
cv2.circle(cimg,(i[0],i[1]),2,(0,0,255),3)

cv2.imshow('detected circles',cimg)
cv2.waitKey(0)
cv2.destroyAllWindows()

不幸的是,我只发现了几个圈子:
enter image description here

我想检测图像中的大多数圆圈。由此,我可以以编程方式找到图像中央附近的错位。
任何帮助,不胜感激。提前致谢。

编辑:根据下面的shortcipher3的建议,我将参数2从HoughCircles降低到15
并将最小半径增加到16,现在我可以检测到大多数圆,如下所示:
enter image description here

最佳答案

我不清楚您的问题是什么,我假设您想检测更多的圈子?

HoughCircles的文档可以在这里找到:

https://docs.opencv.org/2.4/modules/imgproc/doc/feature_detection.html?highlight=houghcircles

根据文档,我想说您的阈值在调用circles = cv2.HoughCircles(img,cv2.HOUGH_GRADIENT,1,20,
param1=50,param2=30,minRadius=5,maxRadius=25)
中并不理想

我首先尝试降低param2,如果不适合您,还尝试使用param1的值。

关于python - 嘈杂图像中的圆圈检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59014406/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com