gpt4 book ai didi

python-3.x - opencv2 : Circle detection not detecting the obvious ones

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

问题

我正在尝试使用 opencv2 来检测静止图像中的 PlayStation Move 运动 Controller 。为了增加球体和背景之间的对比度,我决定修改输入图像以自动缩放每个 channel 的图像平均水平和 96 以上的亮度水平,然后在转换为灰度时,取最大值的默认变换,因为一些球体是饱和的但不是“明亮的”。

但是,我在调整参数方面的最佳尝试似乎效果不佳,检测到明显圆圈上不存在的圆圈。

如何提高检测的准确性?您认为我可以使用哪些其他改进或算法?

示例

从最好到最差的顺序:

2 个魔杖,检测到 1 个魔杖(显示所有 2 个检测到的圆圈) enter image description here

2 根魔杖,1 根魔杖检测到许多不存在的圆圈(显示前 4 个圆圈) Come on, those hands aren't that round.

1 根魔杖(深色背景),总共 6 个圆圈,其中排名最低的是正确的(显示所有 6 个圆圈) You know what's rounder than a ball? A foot.

1 根魔杖(黑色背景),总共检测到 44 个圆圈,其中没有一个是魔杖(显示所有 44 个圆圈) ...Why?

我正在使用这个函数调用:

cv2.HoughCircles(img_gray,cv2.HOUGH_GRADIENT,
dp=1, minDist=24, param1=90, param2=25,
minRadius=2, maxRadius=48)

所有图像都调整大小并裁剪为 640x480(PS3 Eye 的分辨率)。不执行模糊。

最佳答案

我认为 hough 圆圈对你来说是错误的方法,因为你并不是真的在寻找圆圈。您正在寻找强度高的圆形区域。使用例如相反,我链接了一个指南:

https://www.learnopencv.com/blob-detection-using-opencv-python-c/

在 Blob 检测中,需要设置参数以获得合适的高强度圆形区域。

关于python-3.x - opencv2 : Circle detection not detecting the obvious ones,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58093658/

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