• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

用matlab对相机进行标定获取相机内参

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

常见的相机标定方式是张正友的棋盘格标定法,即用相机拍摄打印好的棋盘格图图像,将图像传入函数计算出相机的内参数据。

本文讲解的是将相机直接连接电脑,用matlab的相机标定工具箱通过相机实时采集一定数量的棋盘格图像,然后计算获取相机内参。

 

实现:

Win10,64系统

matlab R2016a

 

后续用途:

(一)solvepnp 单目三维位姿估计--------理论

(二)solvepnp 单目三维位姿估计--------利用二维码求解相机世界坐标


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相机位姿估计啦~ 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
CORBA技术及在Delphi中的实现发布时间:2022-07-18
下一篇:
delphi 二维数组的大小和元素个数问题发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap