机器视觉径向畸变校正分步实现(标定,二,通过行列分割排除异常角点)
我们的亚像素角点全部在list序列tyCA_subcornersflitCali中,这一节关键是确定他的行列,并排除异常亚像素角点。解决这个问题的关键算法是:通过平坦区域,把list中的点tyCA_subcornersflitCali划分到不同的行;
通过平坦区域,把list中的点tyCA_subcornersflitCali划分到不同的列。
先看如何划分到行:一共221个亚像素点,同一行亚像素点y值做差几乎为零,不同行差值>=56.(这取决于标定板放的水平),
你可以看到,221个点,划分了13行。这个算法很简单,你已经看出来了。而且合并后没有异常区域,每行间隔60个像素(标定板的格子标准是1mm*1mm),也就是说1mm=60个像素
如果有异常,考虑如何解决?这个也不难,下面示意按列分割结果,17列,列间距60像素:
那么请问?做差最大值57像素左右,为什么像素间隔是60?
13*17=221,说明我们的亚像素寻找算法也是靠得住的。
提示:亚像素角点一定接近行列交叉处,异常亚像素点(干扰亚像素点)一定不在行列交叉处