机器视觉径向畸变校正分步实现(标定,三,一一对应补充:未畸变网格设计,想到不如做到)
这或许在我的未来会是一个重大的发端。看似平常的一塌糊涂。
以前设计了一个网格线工具,差强人意,不知道有什么用途。在没想到未畸变网格之前,这个算是原始版本,可以看一看:
本来是想网格线工具覆盖感兴趣区域整个特征,并感知其大概轮廓,没成想,是以上结果,搁置很久,没有进展。
直到重新整理这放不下惦记的标定,在一一对应一节中,唤起了了这久违的冲动,马上去掉线图像的感知能力,更改为harris亚像素角点感知能力。花了一天时间尝试琢磨做出来效果如下,无畸变网格登场:
以上结果是截止当下的最好结果,也很稳定,亚像素角点的梯度和在2500左右浮动。而opencv中点积为零的两个异常也都遇到了,这就是省去很多步骤带来的坏处。
第一个异常,边对亚像素角点的干扰:
这怎么能叫亚像素角点呢?好在我找到了梯度和这个宝贝方法,边上的点积为零,但不是亚像素角点,怎么排除,他的梯度和徘徊在1000-2000之间。
第二异常,均匀区域对亚像素角点的干扰:
梯度和真是太神了,这种均匀区域点积为零的亚像素干扰角点,梯度和在500左右浮动,再一个异常排除。
除了这两个问题得以展示外,上图中白色区域,也是均匀区域,为什么干扰亚像素角点未出现呢?
今天的又一个收获就是,发现亚像素角点的最小二乘实现算法一个错误,就是未考虑分母为零的问题,他的体现就是白色均匀区域干扰亚像素未出现。
那么为什么白色会出现分母为零的情况,而黑色不会出现呢?我也感到很神奇!
在标定一一对应一节遇见你,未畸变网格,是一种缘分,他又让我打开了一扇窗!也算是线工具网格的第二版本,但意义绝非仅仅如此。
他至少有两种用途,
第一,标定中用
第二,他可以再细化,可以做可选择操作网格掩码用,在匹配中大显身手
你有没有发现,他是感兴趣区域更具体的化身,他是一种平面的感知工具,在图像之上,像感知图层一样?
我们的眼睛是否也有这样的角点(穿越点),线型,平面粗略轮廓图形的感知图层呢?
另外,梯度和用了这么久,发现一个叫积分和的东东,有很多相似之处,有机会,好好对比一下。