一分钟详解initUndistortRectifyMap函数bu
2019-06-16 本文已影响3人
3D视觉工坊
在上一篇文章OpenCV中initUndistortRectifyMap函数存在bug原因探究的结尾处,留给大家思考三个问题:
1)为何会产生跳变?
2)如何有效解决跳变?
3)源代码如何优化?
本文便顺着上次的行文思路,来为大家提供一种解决方案。仅仅是笔者的一点思考。如果有更好的解决方案,也欢迎后台留言讨论。
对于上述文章中的跳变产生原因,大致可以见下图中的公式推导,此处为了简便(便没有在公式编辑器中一个一个敲出来),采用了手写体(字丑多见谅呀)。
image image image实验测试图片仍然使用上文中的原图,如下:
image经过对initUndistortRectifyMap源代码中的kr进一步优化,得到的实验数据如下表中所示。
image image经过优化后,mapx与mapy的突变位置处较之前明显得到改善,突变位置处的数值更加逼近理想值,同时与相邻位置的梯度幅值大大降低。
最后,安利一个3D视觉技术交流群,目前涉及内容主要包括:
1、单目相机标定与双目相机标定;
2、动态跟踪;
3、OpenCL加速;
4、3D点云处理;
5、手眼标定;
6、VSLAM技术。
扫描可查看,3天内可无条件退款
image我相信,优秀的人总会在一起
上述内容,如有侵犯版权,请联系作者,会自行删文。
荐读
一分钟详解OpenCV之相机标定函数calibrateCamera()
回复关键词——1,前往知识星球
image