用matlab对相机进行标定获取相机内参
常见的相机标定方式是张正友的棋盘格标定法,即用相机拍摄打印好的棋盘格图图像,将图像传入函数计算出相机的内参数据。
本文讲解的是将相机直接连接电脑,用matlab的相机标定工具箱通过相机实时采集一定数量的棋盘格图像,然后计算获取相机内参。
实现:
Win10,64系统
matlab R2016a
Step1 打开相机标定工具箱
在《图像处理和计算机视觉》栏 找到相机标定工具:
在弹出的上图中点击红色下拉三角,选择 “From camera” 即工具箱会读取外接相机然后实时画面获取图像。
如果此期间弹出错误,提示未安装web camera的相应的包,那么需要你额外安装下对应的包;
安装方式为:
在主页中选择 “附加功能” 选择 “Get Hardware support packages”
在网络条件好的情况选择网络安装,下一步;
查看支持安装的所有包,找到USB Webcams 这个USB相机包 文件,点击Next安装。
如此,安装了能够读取外部USB相机的包后,用matlab打开相机就不再出错了。
Step 2 读取相机开始采集图像做标定
在上一步中 From camera后,正确连接相机的情况下,会出现下图:
选择待会用相机采集图像后保存图像的路径;选择每次采集图像的间隔时间(默认5秒),选择共采集多少张图(默认20张);
选择完毕后点击Capture 进行采集;
使用方式是你可以将棋盘格打印出来后贴在墙上,拿着摄像头从各个角度拍摄采集棋盘格图像;或者你固定相机不动,将棋盘格固定在平坦物上,让棋盘格动;我选择前者。
选择Capture后会弹出下图,让你填写棋盘格网格实际物理尺寸(默认25mm),实际常用的网格图大小也差不多,我的是26mm
开始采集图像:
实际采集20张图像后即停止采集,我 在选项中选择了 3阶径向畸变系数,计算切向畸变系数。
只要你的重投影整体平均误差小于0.5像素即可:
下图是标定过程中以相机为中心视角的外参情况:
下图是以棋盘格为中心视角的外参 情况:
Step 3 导出标定数据
我们可以导出得到相机的内参信息:
上图划红线解释依次为:
径向畸变系数(3阶),切向畸变系数(2阶),世界坐标单位是mm,内参矩阵,焦距(分fx,fy),成像平面原点(理想情况是图像宽高中心位置),成像平面原点坐标(单位是像素);
获取如上信息后则可以对相机做矫正,做PnP相机位姿估计啦~
- 分享
- 举报
-
浏览量:2678次2020-05-19 10:50:52
-
浏览量:1103次2023-04-14 11:33:22
-
浏览量:1275次2024-02-20 10:27:52
-
浏览量:1167次2023-04-17 16:22:11
-
浏览量:1491次2019-11-15 17:14:59
-
浏览量:2217次2020-06-28 13:50:03
-
浏览量:1884次2018-01-18 19:38:12
-
浏览量:10565次2020-11-20 13:36:38
-
浏览量:2759次2020-08-03 13:38:16
-
浏览量:851次2023-04-14 11:29:55
-
浏览量:971次2023-06-02 17:41:25
-
浏览量:999次2023-04-14 11:16:33
-
浏览量:1063次2023-04-14 11:21:17
-
浏览量:1387次2023-04-14 11:48:45
-
浏览量:885次2023-04-14 11:18:04
-
浏览量:2109次2019-09-01 11:17:25
-
浏览量:2234次2018-09-22 23:11:46
-
浏览量:3316次2018-01-19 22:18:57
-
浏览量:5351次2021-08-04 11:09:42
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
热爱秃头的每一天
感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明