matlab相机标定教学视频,相机标定入门教程【 OpenCV + Matlab】

(单目)相机标定算法:张正友的算法

一些帖子对摄像头畸变原理的总结:

http://www.baidu.com/link?url=Y-D_PIABMU-1VZsusDcBCMoFz-br4wg69tYUbnDIFMlfRlRBL7hnal_4r47cnDxSsm1eHYEDJJ43qslLTN-p4D4qz7WSsKCRX-u0yWiuWda&wd=&eqid=e1e90abc00064dc400000006567b5327

《学习OpenCV》一书中对摄像头标定有详尽说明:第11章——“摄像机标定”一节  P422

VC下实现相机标定,主要分两步:matlab中计算标定参数、利用opencv的接口对输入图像进行标定

主要看以下内容:

这一步关键是采集一系列不同角度拍摄的棋盘格图像

opencv的标定相关函数如下:(基于opencv 3.0)

void initUndistortRectifyMap(InputArray cameraMatrix, InputArray distCoeffs, InputArray R, InputArray newCameraMatrix, Size size, int m1type, OutputArray map1, OutputArray map2)用于获得标定时的变换矩阵,参数说明:

cameraMatrix,内参数矩阵,A = [ fx, 0, cx ; 0, fy, cy; 0, 0, 1],大小3*3,其中与matlab工具箱计算结果的对应关系为:fx、fy对应fc的两项,cx、cy对应cc的两项

distCoeffs,外参数(失真参数)矩阵, distortion coefficients,包含4, 5, or 8 元素的一维矩阵,对应matlab计算结果的kc

R,矫正矩阵,用于双目摄像头,这里设为空矩阵即可

newCameraMatrix,同样是双目时用到,这里输入cameraMatrix即可

size,输入图像尺寸

m1type,map1的类型,设为CV_32F

map1、map2,X、Y方向的变换矩阵

void remap(InputArray src, OutputArray dst, InputArray map1, InputArray map2, int interpolation, int borderMode=BORDER_CONSTANT, const Scalar& borderValue=Scalar())按两个变换矩阵对输入图像进行变换

interpolation为插值算法,设为cv::INTER_NEAREST即可

void undistort(InputArray src, OutputArray dst, InputArray cameraMatrix, InputArray distCoeffs, InputArray newCameraMatrix=noArray() )

一个整合版函数,包括以上两个函数

效果:

0818b9ca8b590ca3270a3433284dd417.png

原始

0818b9ca8b590ca3270a3433284dd417.png

校正后

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值