利用matlab进行畸变矫正

前言

目前流行的相机畸变矫正方案就是利用张正友教授的标定法,主要流程就是不同角度拍摄棋盘图,得到相机内参和畸变参数,然后再进行矫正。
matlab提供了应用可以直接做实验得到参数,然后利用matlab提供的库函数直接进行矫正图片。
此外python也有对应的库函数可以进行矫正。

1. 标定采样

棋盘图
在这里插入图片描述

保存下载打印后用手机从不同角度拍照20张左右

2. 计算相机参数

2.1 使用matlab工具计算相机参数

在这里插入图片描述
在这里插入图片描述

2.2 添加拍摄的棋盘图

在这里插入图片描述

2.3 其中的棋盘尺寸为21mm

在这里插入图片描述

2.4 得出计算结果cameraParams保存在工作区

注意:后边的矫正代码要引用这里算出的cameraParams相关参数。当然也可以导出为mat文件,在代码中进行load
在这里插入图片描述

3.矫正

matlab执行以下代码即可完成矫正

%读取原图路径
I=imread('F:\raw\test\Calibration-ZhangZhengyou-Method-master\pic\ceshi\app\IMG_20230509_1445.jpg');

%使用函数undistortImage去畸变
%cameraParams为camera calibrator实验获得的相机相关参数,保存在工作区
[J,newOrigin] = undistortImage(I,cameraParams);

%分别展示畸变前和去畸变的照片
figure
subplot(1,2,1),imshow(I);
subplot(1,2,2),imshow(J);

%保存去畸变后的照片
imwrite(J.CData,'F:\raw\123.jpg')
  • 5
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值