前面的文章http://blog.csdn.net/zilanpotou182/article/details/69848610介绍了使用Zernike矩进行亚像素边缘细化的方法,如果我们是检测圆形物体,那么可以使用最小二乘法拟合圆来拟合出圆的半径和坐标,本方法的代码在下面列出。
有的朋友发现拟合出来的边缘打印出来看着没问题,边缘点是一个圆形的形状,但是拟合出来的圆却偏离这个圆心,并且半径也不对。我也想起当时做双层梁圆孔检测的时候也是遇到这问题,写在这里给大家提醒一下,其实是很简单的错误。
问题就是检测出来的边缘不仅仅只有圆区域,还有其他一些小的干扰区域,我直接用的他的图,请看左上角有一点干扰区域,但是如果画边缘点的时候所用的半径不够大或者线宽不够宽,则打印出来的边缘图根本看不到这一块,带着这个区域去做最小二乘圆拟合,就会出现一个半径较大且偏移的圆,而如果把这两项调的够大,就可以发现这个问题。