基于MATLAB和python的简易相机标定

准备工具:MATLAB2021A,python,opencv3.4.2.16

图像处理一系列工作往往都需要用到不同、特殊的相机,这些相机不同于日常生活中的普通相机,我们往往需要对其进行标定,以及利用标定参数对所得到的图片进行矫正。

目前业界已有成熟的标定方法——张正友棋盘标定法,这也是我们所常用的。相机标定原理和畸变来源在此就不过多赘述,此篇文章只给出相关软件在相机标定中的使用。

原理部分请自行阅读《视觉SLAM十四讲从理论到实践 第二版》118页至128页 

MATLAB部分

提前准备一块标定板,或者使用命令行生成棋盘格

close all;
clear all;
clc;
width=1024  ;      %pattern的宽
height=768     ;          %pattern的高
img_final=zeros(height,width);
reinforceconner=0       ;%是否加强角点 
row=8;                 %pattern中棋盘格的行数
col=12 ;              %pattern中棋盘格的列数
length=60;           %pattern中棋盘格的大小
org_X=(height-row*length)/2;        %pattern关于纵轴方向的位置,默认放在中间
org_Y=(width-col*length)/2;             %pattern关于横轴方向的位置,默认放在中间
  color1=1;
     color2=color1;
img=zeros(row*length,col*length);
for i=0:(row-1)
    color2=color1;
    for j=0:(col-1)
        if color2==1
        img(i*length+1:(i+1)*length-1,j*length+1:(j+1)*length-1)=color2;
        end
        %不加的话,可以注释掉
        %
        color2=~color2;
    end
    color1=~color1;
end
img_final(org_X:org_X+row*length-1,org_Y:org_Y+col*length-1)=img;
   img_final=~img_final;
     figure;imshow(img_final);   
     imwrite(img_final, 'cheesBoard.bmp','bmp');

 如果使用标定版则如下:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

想要头发QAQ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值