基于OpenCV3.2+VS2013双目测距

基于OpenCV3.2+VS2013双目测距
1、 摄像头标定
1.1、通查询资料和博客大概有两种方式: 
(1)利用OpenCV自带的校正程序
(2)利用MATLAB工具来标定
1.2该工程是利用MATLAB工具来标定:
(1)固定好摄像头,尽量保证两个摄像头是水平放置,并调好两个摄像的焦距,使其清晰度是一样的。

(2)准备30张图片,两个摄像头各15张同时拍摄,此处采用的MATLAB中自带的棋盘格打印在A4纸张上,并粘贴到硬纸板上,尽量保持纸板是平整的以保证棋盘水平。 



(3)利用Python3.5+OpenCV3.2编写代码实现拍照,代码中按下键盘K键及拍摄照片并分别保存在left和right文件中。
 


 
(4)软件环境:MATLAB2015、Eclipse_Neon.3、OpenCV3.2
(5)语言:Python3.5、C++
(6)MATLAB工具包下载网址:http://download.csdn.net/download/shamozhihuong/10170568


1.3、MATLAB标定过程

(1)将左右图片拷贝到MATLAB tool文件夹下
 
(2)打开MATLAB,运行calib_gui,并点击standard 


(3)点击image names,并在MATLAB命令行输入left
 
(4)再输入jpg(也就是图片的主名称和图片格式)
 
(5)依次点击Read images,Extract grid corners,然后命令行点击回车,再输入5,5再回车。
 
(6)顺时针用鼠标点击四个角点,并按图中x,y的方向测量实物棋盘的实际尺寸,并输入到命令行中,并依次标记完后面的所有图。
 
(7)点击Calibration,show Extrinsic,save并将生成的calib_Results.mat,改名为calib_ Results _left.mat
 
(8)再标定右摄像头,和左边摄像头的标定是一样的。
 
(9) 重复left的标定步骤,把生成的Calib_Results.mat,改为Calib_Results_right.mat
 
2、立体匹配 
(1)运行stereo_gui.m,然后点击Load left and right calibration files 再在命令行输入Calib_Results_left.mat,和Calib_Results_right.mat
 

(2)点Run stereo calibration,show extrinsics of stereo rig,save stereo cailb results
 
(3)记录数据,写入到程序中

 


 
3、双目校正,运行结果图

 

4、 完整代码下载链接
(1)摄像头标定棋盘PDF:  http://download.csdn.net/download/shamozhihuong/10170559
(2)MATLAB双目标定工具:http://download.csdn.net/download/shamozhihuong/10170568
(3)双目摄像头标定拍照源码: http://download.csdn.net/download/shamozhihuong/10170539

(4)基于OpenCV3.2+VS2013双目测距源码:http://download.csdn.net/download/shamozhihuong/10170531

5、硬件连接

淘宝链接:https://shop157002201.taobao.com/index.htm?spm=2013.1.w5002-14240154075.2.7680934784qAuM


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章