gpt4 book ai didi

image-processing - 使用霍夫圆变换检测同心圆

转载 作者:行者123 更新时间:2023-12-03 23:38:25 26 4
gpt4 key购买 nike

我正在尝试从图像数据库中检测 CD 图像。我想我可以对每个图像使用圆形霍夫变换,并选择包含具有相似中心的同心圆的图像。

我试过在 EMGU 中使用 HoughCircles 方法,如果圆圈不在外圆的中心,它可以正常工作,但如果它们不在,则不起作用。这是霍夫变换本身的限制,还是只是实现的 minDist 限制的问题?

在以下 2 个图像上使用以下参数(我已经广泛使用):

Gray cannyThresh = new Gray(180);
Gray accumulatorThresh = new Gray(300);
int dp = 3;
double minDist = 0.0000001 //Ideally higher, but ok for illustrating this point

CircleF[] circles = gray.HoughCircles(cannyThresh, accumulatorThresh, dp, minDist, 0, 0)[0]

偏移内圆(工作正常):

offset inner circle

中心内圆(未能正确检测外圆,大概是因为中心靠近内圆?)

central inner circle

我可以做些什么来检测圆圈是否共享相似的中心?

最佳答案

对于通过 Google 来到这里寻找使用 OpenCV 检测同心圆的方法的其他人:似乎 OpenCV 霍​​夫圆检测无法做到这一点。
至少根据书中的一段话“Learning OpenCV: Computer Vision with the OpenCV Library

Finally, because centers are considered in ascending order of their associated accumulator value and because new centers are not kept if they are too close to previously accepted centers, there is a bias to keeping the larger circles when multiple circles are concentric or approximately concentric.



这个实现细节似乎是出于性能原因选择的。

关于image-processing - 使用霍夫圆变换检测同心圆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13952659/

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