相机标定 matlab opencv ROS三种方法标定步骤(3)
三 ,? ROS 環境下 如何進行相機標定
??? 剛開始做到的時候遇到一些問題沒有記錄下來,現在回頭寫的時候都是沒有錯誤的結果了,首先使用ROS標定相機,
要知道如何查看節點之間的流程圖? rosrun rqt_graph rqt_graph ,如何查看我們運行的節點? rosnode list, ?? 查看運行的話題 rostopic list? 或者rostopic list -v 查看每個節點的性質
??? 首先需要學習的是? wiki.ros.org/cv_bridge/Tutorials/UsingCvBridgeToConvertBetweenROSImagesAndOpenCVImages
??? 了解cv_bridge 這個程序包是連接ROS和Opencv的程序包,就好像是一個橋梁的作用一樣,關系圖:
???????????????
???? 緊接著可以學習???? wiki.ros.org/image_common?distro=indigo?? 這個就是就是教你如何去訂閱和發布圖像或者視頻的話題等問題
????? 那么其中功能最多的就是?? wiki.ros.org/image_pipeline?distro=indigo? 這個程序包里面就有我們想要的相機標定的程序以及方法
同時最重要的是? 要驅動攝像頭安裝包就在于? wiki.ros.org/image_pipeline?distro=indigo?? 這里我用的是USB 的就可以對應下載該程序包然后
catkin_make一下就可以驅動攝像頭,可以看到原始圖像,運行看到的結果:
順利的啟動攝像頭就可以學習如何去標定相機了
?因為就是用別人的代碼也沒什么改動,所以直接下載所提及的程序包,然后catkin_make
一般都不會有什么錯誤出現,命令窗口執行 ???????????
?????????????????????????????????????????????? $ roscore
?????????????????????????????????????????????? $ roslaunch usb_cam usb_cam-test.launch?? (可以在.launch文件里修改要用的攝像頭,比如筆記本的攝像頭是/dev/video0,外接USB攝像頭是/dev/video1)
?????????????????????????????????????????????? $? rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.035 image:=/usb_cam/image_raw camera:=/usb_cam
?? (這里的標定模板我是用A3紙張打印出來,為8*6???? 35mm的標定棋盤)
??? 所以 ? 參數要改為與實際標定模板一致的數據 ?????? --size 8x6 --square 0.035???????????????
?? image:=/usb_cam/image_raw camera:=/usb_cam???? 就是要對應USB 攝像頭的原始的節點和話題(我就剛開始沒有對上號)
?? (完全按照網上的步驟來是不會出現想要的結果的)
?我們可以使用? rosrun rqt_graph rqt_graph? 來查看是否calibraton節點是否已經訂閱成功如圖:(倘若cameracalibrator與usb_cam沒有訂閱成功,就需要使用
rostopic list -v 查看話題)
??
運行的結果 ????????? 如圖
直到采集了50個采樣點? 左邊的CALIBRATE變為綠色? 就可以點擊開始標定,結束后會將標定結果打印到命令窗口:
后續還有很多內容可以寫上去,暫時就到這里
(大神請忽略,謝謝)
?
總結
以上是生活随笔為你收集整理的相机标定 matlab opencv ROS三种方法标定步骤(3)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 相机标定 matlab o
- 下一篇: 相机标定 matlab o