usb-cam (2)攝像機標定


http://blog.csdn.net/heyijia0327/article/details/43538695

官方也給出了單目的標定教程雙目視覺的標定教程。本教程基於usb_cam  package 讀取圖像,然后使用官方例程進行標定。

0 安裝usb_cam

1.使用usb_cam 讀取圖像

roscore

 

roslaunch usb_cam usb_cam-test.launch

這時筆記本的攝像頭的燈會亮,並且彈出一個名為/camera/image_raw的窗口:      

launch文件如下:

<launch>
    <arg name="device" default="/dev/video0" />
    <node name="usb_cam_node" pkg="usb_cam" type="usb_cam_node" output="screen">
        <param name="video_device" value="$(arg device)" />
        <param name="image_width" value="640" />
        <param name="image_height" value="480" />
        <param name="framerate" value="30" />
        <param name="brightness" value="128" />
        <param name="contrast" value="128" />
        <param name="saturation " value="70" />某文件夾下有文件夾但看不見
    </node>
</launch>

2.檢查usb_cam package發布的消息:

 

rostopic list  

 看是否有如下消息,並記住名稱

 
/usb_cam/camera_info
/usb_cam/image_raw

3.啟動標定程序:

 
rosrun camera_calibration cameracalibrator.py --size 11x8 --square 0.03 image:=/usb_cam/image_raw camera:=/usb_cam  

其中參數size 11x8 注意是字母x,他是棋盤內部角點個數,如下圖所示。square為棋盤正方形邊長,注意剛剛開始標定的時候,CALIBRATE按鈕是灰色的。

4.標定程序使用方法:

       為了得到一個好的標定結果,應該使得標定板盡量出現在攝像頭視野的各個位置里:

       如標定板出現在視野中的左邊,右邊,上邊和下邊,標定板既有傾斜的,也有水平的,。

       界面中的x:表示標定板在視野中的左右位置。

                     y:表示標定板在視野中的上下位置。

                size:標定板在占視野的尺寸大小,也可以理解為標定板離攝像頭的遠近。

                skew:標定板在視野中的傾斜位置。

還要有棋盤占住大部分視野的圖片,如下圖所示:

按着上述方式不斷移動標定板,直到CALIBRATE按鈕變亮,點擊該按鈕就會進行標定。標定過程將持續一兩分鍾,並且標定界面會變成灰色,無法進行操作,耐心等待即可。

       標定完成以后,你將看到如下圖所示的窗口,窗口中的圖像為標定后的結果,糾正了畸變

並且,攝像機的各個參數會出現在標定程序的終端窗口中,如下:

如果對標定結果滿意,點擊COMMIT按鈕將結果保存到默認文件夾,在usb_cam窗口中可以看到如下信息,說明標定結果已經保存在相應文件夾下下次啟動usb_cam節點時,會自動調用。

但是在light-wings目錄下看不到.ros文件,只能用命令行模式復制出來

cd .ros/camera_info/
cp head_camera.yaml ../../

 

在light-wings目錄下就能看到這個文件

標定后的文件格式需要轉化成ORB-slam2的yaml文件才能被ros使用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM