我正在尝试从图像数据库中检测 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]
偏移内圈(工作正常):
中心内圈(无法正确检测外圈,大概是因为中心靠近内圈?)
我可以做些什么来检测圆圈是否共享相似的中心?