马春杰杰博客
致力于深度学习经验分享!

[mcj]利用MATLAB进行相机标定,附源码!

前面写了关于c++的代码,以及python的,后来发现MATLAB也可以,并且更简单。代码如下:

会生成两个图,一个是标定图片的空间位置

另一个是每张图片的重投影误差

图片最好准备多点,实测MATLAB会剔除一些图片。

仔细阅读了OpenCV的说明之后你会大概明白畸变参数,总共有五个,径向畸变3个(k1,k2,k3)和切向畸变2个(p1,p2)。
径向畸变

切向畸变

以及在OpenCV中的畸变系数的排列(这点一定要注意k1,k2,p1,p2,k3),千万不要以为k是连着的。

并且通过实验表明,三个参数的时候由于k3所对应的非线性较为剧烈。估计的不好,容易产生极大的扭曲,所以我们在MATLAB中选择使用两参数,并且选择错切和桶形畸变

可以看到workspace已经生成结果了~

第三个即为相机参数,打开看看:

里面的RadialDistortion对应k1,k2,k3设置为0了。
TangentialDistortion对应p1,p2。

IntrinsicMatrix对应内参,注意这个和OpenCV中是转置的关系,注意不要搞错。

还有内参矩阵,注意这是转置的:


赞(232) 打赏
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《[mcj]利用MATLAB进行相机标定,附源码!》
文章链接:https://www.machunjie.com/deeplearning/visual/64.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

:smile: :sad: :arrow: :cool: :confused: :cry: :eek: :evil: :exclaim: :idea: :lol: :mad: :mrgreen: :neutral: :question: :razz: :redface: :rolleyes: :surprised: :wink: :biggrin: :twisted: