3D视觉工坊

一分钟详解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

我相信,优秀的人总会在一起

上述内容,如有侵犯版权,请联系作者,会自行删文。

荐读

2D、3D视觉技术干货之杂谈

再谈「相机标定」

计算机视觉基本原理——RANSAC

一分钟详解本质矩阵的推导过程

一分钟详解OpenCV之相机标定函数calibrateCamera()

回复关键词——1,前往知识星球

image
上一篇下一篇

猜你喜欢

热点阅读