gpt4 book ai didi

python - OpenCV:HoughCircles 返回无效的圆参数

转载 作者:太空宇宙 更新时间:2023-11-03 21:50:51 25 4
gpt4 key购买 nike

我在 Anaconda Navigator 上使用“OpenCV 版本:3.4.0”和 Python 3.6 以及 Spyder IDE (Spyder 3.2.4)。

当我使用这些参数调用 HoughCircles() 时,它返回无效的圆数据:

=====================================================================
circles = cv2.HoughCircles(gray, cv2.HOUGH_GRADIENT, 1.8, 30, 10, 310,minRadius = 35, maxRadius = 255)

len(circles): 4
circles: [[10.][ 0.][ 0.][ 0.]]
=====================================================================

当我使用这些参数调用 HoughCircles() 时,它返回有效的圆数据:

=====================================================================
circles = cv2.HoughCircles(gray, cv2.HOUGH_GRADIENT, 1.8, 30, 10, 300,minRadius = 35, maxRadius = 255)

len(circles): 1
circles: [[[319.5 571.5 251. ]]]
=====================================================================

为什么 HoughCircles() 在某些情况下会返回无效数据?该函数不应该返回某种类型的错误代码,或者可能是“无”?

最佳答案

我在 C++ 中遇到了类似的情况,其中 HoughCircles() 会为某些图像返回一个包含单个 [0,0,0] 的列表。根本原因是 OpenCV 中 RemoveOverlaps() 方法中的错误。这是我写的错误报告:
https://github.com/opencv/opencv/issues/14432

同样的问题似乎也会影响 Python,如以下问题所述:
OpenCV HoughCircles occasionally returning [0. 0. 0.]

您可以尝试手动构建一个应用补丁的 OpenCV 版本,看看是否有帮助(或 future 版本,如 3.4.7 或 4.2.0)。但是,由于您得到的是 [[10][0][0][0]] 而不是 [[[0 0 0]]],我认为您可能遇到了与我不同的错误。如果是这样,我建议提交一份关于它的新错误报告。

最后,每当发布有关计算机视觉的文章时,最好包含您正在测试的图像文件,因为没有它就不可能重现问题。

关于python - OpenCV:HoughCircles 返回无效的圆参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49675692/

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