双目相机之MATLAB标定(stereo_gui)

这段时间在做双目相机的标定,从MATLAB帮助文档中找到了有关双目相机的标定方法,花了一点时间翻译了一下,希望需要的人能借鉴一下!

像很多博文一样,首先要列出原文:

http://www.vision.caltech.edu/bouguetj/calib_doc/index.html#examples

文档中举了几个例子,有关双目的是第5个,看仔细哦!

一下就是正文了!

这个例子展示了如何使用工具箱用于校准一个立体系统(内在和外在)和使用立体标定的结果为立体图像校正和3 d立体三角测量。

下载stereo_example.zip立体数据集,包含14对对应的左右图像。图片命名left01.jpg,…,left14.jpg和right01.jpg…,right14.jpg。这个包包含分别的两个校准结果文件Calib_Results_left和Calib_Results_right(使用第一个例子描述的标准程序校准后产生两个摄像头的校准结果)

在命令行窗口输入stereo_gui运行立体标定工具箱。如下图:

(把Calib_Results_left.mat和Calib_Results_right.mat两个文件放到你现在运行的文件夹下)

点击第一个按钮

命令行窗口提示如下:

输入你的两个校正结果的名字。

(最好之前先把你的两个文件改为这个默认的名字,这样此处可以直接按回车,两个文件都加载进来后,会显示两个文件的参数,如下图)

初始的内参数的值除了显示外参数的估计om和T,还描述左右相机的相对位置。内参数fc_leftcc_leftalpha_c_leftkc_leftfc_rightcc_rightalpha_c_right kc_right和传统的fc, cc, alpha_c and kc是等价的。在三维空间中一个点P的两个姿态参数om和T定义:它的两个在左、右参考坐标系的坐标向量XL和XR分别和彼此有关,尽管严格的运动转换: XR = R * XL + T  R是3 x3的对应的旋转矢量om旋转矩阵。

单击按钮 Run stereo calibration运行全局立体优化程序

此处如果警告消息"Disabling view kk - Reason: the left and right images are found inconsistent" is encountered时,这可能意味着第kk对图像,左边和右边图像在空间中不同的位置被捕获。这意味着这两个视图是不一致的,因此不能用于立体校准。

捕获你的图像时,确保你没有在捕获左右图像时移动校正模式。空间中的模式可以(也应该)只在两组(左、右)图像间移动。

不一致的另一个原因是,你选择一组在模式上不同的点运行独立的校准(导致两个文件Calib_Results_lef)。确保在两个独立的校准中选择了相同的点。换句话说,点需要一致。

点击Save stereo calib results,保存立体标定的结果,如下:
<align="left">          点击Show Extrinsics of the stereo rig以一种3D图的形式显示两个摄像头的空间配置和校准平面

最后,点击Rectify the calibration images通过校正来校准立体图像。所有图像left_rectified01.bmp, right_rectified01.bmp,...,left_rectified14.bmp,right_rectified14.bmp都被校准(外极线与水平扫描线匹配)。除生成这些校正图片之外,脚本还保存新设置的校准参数到Calib_Results_stereo_rectified.mat。

因为提供了原始的图像,这两个初始的独立的校准可以得到Calib_Results_left.mat和Calib_Results_right.mat。通过角点提取的过程,需要牢记的是,对于每对图像,必须选择相同的一组左、右图像的点,即相同的网格点和相同的原点(为了保证相同的模式参考系)。因此,确保相同的起源点(第一次点击)一直被选中是至关重要的。一个简单的方法是总选择网格的左上角为原点(这样做是为了生成两个提供的校准文件)。在您自己的立体标定中,可以使用不同的策略,如标志的起源点在网格模式本身。

有点草草结尾了,实在是没有时间和心情了,请各位自行处理吧!再见!

时间: 2024-11-03 10:01:17

双目相机之MATLAB标定(stereo_gui)的相关文章

双目相机标定以及立体测距原理及OpenCV实现

作者:dcrmg 单目相机标定的目标是获取相机的内参和外参,内参(1/dx,1/dy,Cx,Cy,f)表征了相机的内部结构参数,外参是相机的旋转矩阵R和平移向量t.内参中dx和dy是相机单个感光单元芯片的长度和宽度,是一个物理尺寸,有时候会有dx=dy,这时候感光单元是一个正方形.Cx和Cy分别代表相机感光芯片的中心点在x和y方向上可能存在的偏移,因为芯片在安装到相机模组上的时候,由于制造精度和组装工艺的影响,很难做到中心完全重合.f代表相机的焦距. 双目标定的第一步需要分别获取左右相机的内外参

MATLAB标定工具箱 相机标定

记录一下MATLAB标定工具箱的使用. MATLAB标定工具箱有新旧两种,简单来说,需要自己下载toolbox_calib文件并使用calib命令启动的是旧的标定工具箱,新的工具箱则位于MATLAB中的APPS下拉菜单中. 对新的工具箱,完全傻瓜式操作,添加完图像后,按照下图勾选相应选项,即可校正切向和径向畸变,然后点击Calibrate按钮即可得到相机内参和畸变参数: 对旧的工具箱,具体可参考这篇博文,需要注意的是,在依次点击图像角点时,需要按照顺时针,但无需每次都从棋盘格的同一位置开始. 下

基于USB3.0的双目相机测试小结之CC1605配合CS5642 双目 500w摄像头

基于USB3.0的双目相机测试小结之CC1605配合CS5642  双目 500w摄像头 CC1605双目相机评估板可以配合使用柴草电子绝大多数摄像头应用 如:OV5640.OV5642.MT9P031.MT9V034.MT9M001.MT9F002等等 本次测试以CS5642V3摄像头为例,sensor为OV5642 测试分辨率为 1280*720:720p 1280*1024:SXGA 1920*1080:1080p 2048*1024 2048*1536:3M 测试帧率:15fps 一.U

基于OpenCV单目相机的快速标定--源码、工程、实现过程

相机的标定是所有人走进视觉世界需要做的第一件事,辣么多的视觉标定原理解释你可以随便在网上找到,这里只讲到底如何去实现,也算是给刚入门的朋友做个简单的分享. 1.单目相机标定的工程源码 首先请到同性交友网站Github上下载工程源码(https://github.com/Zhanggx0102/Camera_Calibration),注意以下几点: 1).这是一个MS Visual Studio 2010的工程源码(版本是201x都可以). 2).在编译运行之前请先在VS中配置好OpenCV(网上

相机标定:Matlab标定工具箱使用要点

1.单目标定 1.核心步骤 (1)获得标定数据:<Images_names>, <Read images>, <Extract grid corners> 1)输入数据:源图像序列(必选).棋盘格数量(可选).棋盘格尺寸(必选) 2)读入图像:输入图像基名和图像扩展名 3)提取角点:对每幅图像依次执行,若对提取的角点不满意则输入可能畸变参数(值在-1~1之间)后重新提取直到满意为止 (2)执行初次标定:<Calibration>, <Save>,

Matlab2015 双目相机自动标定

一.      标定步骤 1.      调出标定工具箱 在命令行输入stereoCameraCalibrator,出现如下界面: 2.      勾选相应的选项 然后将上面的“Skew”.“Tangential Distortion”以及“3 Coefficients”等选项选上,将“2 Coefficients”选项去掉,如下: 3.      载入图像 然后点击添加图像,出现如下界面: Camera1代表左摄像头,Camera2代表右摄像头,分别选择存放着左右图像的文件夹,需要特别注意的是

CC1605&amp;CC1604 usb3.0+FPGA 高速视频采集 双目相机测评

摄像头配置:ov5640.OV5642.mt9p031.mt9m001c12stm OV5640 xclk:24M pclk:80M 1080p(1920*1080) 30fps OV5642 5M(2560*1920) 17fps mt9p031 xclk:48M 使用pll 5M(2560*1920)23fps 1080p(1920*1080)46fps 硬件效果 硬件接口 1080p  23fps 双目 2592*1944  4.2fps 2560*1920  分辨率下  帧率 17fps

双目相机底座

//模型一 单个相机底座大小 module cam_1(xl,yl,zl,xd,yd,zd,jd){ translate([sin(0),cos(90),0])rotate([xd,yd,zd]) cube([xl,yl,zl],center=true); //挡板最外侧 179/2 半个基线 4/2 自身厚度 translate([179/2+4/2,cos(90),14/2-2])rotate([xd,yd,zd]) cube([4,50,14],center=true); translat

关于udo3d双目相机的嵌入式板子系统重装

遇到的问题: 1.下载压缩文件(.rar):在linux下下载一会就会停止 原因:linux下不支持.rar文件的下载,在windows下载即可 2.在windows下解压文件,结果为镜像文件(.img格式)//在linux下可以用rar,unrar解压 3.将镜像文件写入SD卡中:windows下通过下载win32diskimager软件,然后把镜像文件写入SD卡中 4.插入嵌入式板子,启动即可