OpenCV3.2.0 雙目標定+立體匹配(官方自帶例子的使用方法)

一、需要先找到官方標定程序
1.先到OpenCV源碼目錄下(..\opencv-3.2.0\samples\cpp)找到stereo_calib.cpp(這是利用張正友標定法的程序)
標定程序位置
2.在vs中創建項目,然後添加c++源文件,再把上面stereo_calib.cpp文件中的內容拷貝到我們剛添加的文件中,如下圖
這裏寫圖片描述
3.編譯一下看看有沒有錯誤(VS+OpenCV配置好的話一般沒錯誤)
4.把官方自帶的28張標定圖片以及stereo_calib.xml(這是一個包含需要標定的圖片的列表)這個文件拷貝到VS工程目錄中
4.1打開工程目錄的方法如下圖:
這裏寫圖片描述
4.2自帶標定圖片以及stereo_calib.xml文件在同一個文件夾下位置如下圖
這裏寫圖片描述
把4.2中的文件拷貝到4.1的目錄中
5.上面已經編譯過了,直接運行就可以,這裏運行的時候不需要任何參數(main()括號中的argv),因爲我發現這個程序中用到OpenCV中的一個類cv::CommandLineParser爲我們提供了一些默認參數,我們按默認參數跑就行main函數中有一個小小的地方需要修改如下圖。
這裏寫圖片描述
運行方法有兩種二選一就行:方法一.VS中直接點擊運行。方法二.5.2通過cmd控制檯
這裏寫圖片描述

總結:到這裏標定成功,標定完後會發現VS工程目錄下多了兩個文件extrinsics.yml和intrinsics.yml接下來做立體匹配需要用。

二、需要先找到官方的立體匹配程序
1.需要找到自帶例子程序的位置
立體匹配程序位置
2.同一中的第2步,新建一個新的VS個工程,然後添加一個c++文件,然後把stereo_match.cpp文件中的內容拷貝到新創的c++文件中即可。
3.隨便拷貝上述28張圖片中的任意一對圖片如left01.jpg和right01.jpg到工程目錄中(立體匹配用的兩張圖)。把extrinsics.yml和intrinsics.yml也拷貝到工程目錄中。
4.標定中我們不需要修改agrv,但是立體匹配的時候需要做一些修改
即把main函數中的cv::CommandLineParse parser()括號中的參數做一些修改,修改結果如下圖:
這裏寫圖片描述
如果不做修改,那麼需要在cmd控制檯下運行這個程序,然後提供合適的agrv參數,不做修改直接在VS中運行是會一閃而過的。
5.直接在VS中點擊運行即可。運行結果如下:
這裏寫圖片描述



原文地址:http://blog.csdn.net/a864488081/article/details/78205519

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