双目视觉算法学习(一):双目定标
来源:互联网 发布:淘宝上好评后怎么截图 编辑:程序博客网 时间:2024/05/04 21:50
老板新安排的任务,需要在FPGA上实现双目算法,所以最近开始学习这块,双目算法主要分成3个部分:定标、校正、匹配。其实定标是最基础的部分,为后面的程序提供初始数据,这一块的数据主要参考了图像获取与单目定标和摄像机标定和立体标定,本文主要是我在双目定标的步骤以及我对此的理解。
一、固定摄像头
摄像头这块我使用的是两个罗技的普通USB摄像头,一般只要在opencv中使用cvCreateCameraCapture()函数能捕捉到图像就好。然后将两个摄像头平行固定好,我的摄像头最后如下所示:
二、使用摄像头捕捉不同方位下标定板图像
固定好摄像头之后,开始获取图像,这时候需要使用标定板(我的A4标定板),作用是为了接下来使用Matlab标定工具箱(点击打开链接)进行标定。获取图像的时候一定要注意需要两个摄像头同步获取,这样标定出来的结果才会是正确的。这个算法的思想可以参考:同时获取图像
三、使用matlab标定工具箱测数据
经过上一个步骤,我们会获得标定板在左右两个摄像头的很多不同位姿下的图像,把这些图像放到matlab工具箱文件夹下进行处理。处理方法可以参照:使用matlab工具箱进行标定。需要注意的是在提取第一幅图的时候命令行窗口可能会提示你输入方格大小,这个一定要根据你的标定纸上的大小来写,如果这个错误的话,标定出来的数据是有问题的,我使用的标定纸方格大小是15mm。其他按照步骤来做就好了,立体标定后,最好查看一下Show Extrinsics of stereo rig,看看是否两个摄像头是平行的,最后得到下列结果:
上面得到的就是摄像头的参数信息,然后将这些数据进行打包成xml格式,方便在校正的时候使用。校正会用到的数据包括如下:内参数据(焦距和原点坐标)、畸变、旋转矩阵om和平移向量T。
例如:摄像头内参信息格式如下(左):
<?xml version="1.0"?><opencv_storage><Cam_M2 type_id="opencv-matrix"> <rows>3</rows> <cols>3</cols> <dt>d</dt> <data> 357.49543 0. 182.35795 0. 365.72798 193.12148 0. 0. 1.</data></Cam_M2></opencv_storage>
- 双目视觉算法学习(一):双目定标
- 双目视觉算法研究(一)双目标定简介
- 双目立体视觉(一):SAD算法
- 双目测距与三维重建的OpenCV实现问题集锦(一)双目定标与双目校正
- 双目视觉算法简介
- 双目视觉学习笔记
- 双目视觉相关学习
- 双目定标和双目校正
- 双目定标与双目校正
- 双目定标与双目校正
- 双目定标和双目校正
- 双目定标和双目校正
- 双目视觉的例子(Stereo算法)
- 双目立体视觉知识分享~(一)
- 1.双目立体视觉算法
- 双目视觉
- 双目视觉
- 双目视觉
- 2015年5月信息系统项目管理师案例分析真题及详解--第一题
- xcode7 UI 测试
- synchronized和java.util.concurrent.locks.Lock的区别
- Android项目打包
- Android 1.6-5.0源码下载地址
- 双目视觉算法学习(一):双目定标
- Java之I/O(2-OutputStream类及其子类)
- CXGRID用法(取行、列值;定位选中某行等等)
- 软件盘与输入框
- Cookie介绍及JavaScript操作Cookie方法详解
- 教学反馈系统-阶段项目1
- leetcode 1 Two Sum
- VB和C#中serialPort控件导入DataReceived事件
- trie树(简单版本)