在ROS下,攝像頭kinect V1的RGB圖和深度圖的獲取
驅動安裝好後,首先在終端輸入“roscore”,啟動節點,然後在新的終端輸入“roslaunch freenect_launch freenect-registered-xyzrgb.launch”或者“roslaunch freenect_launch freenect.launch”。
顯示RGB影象:“rosrun image_view image_view image:=/camera/rgb/image_color”即可顯示RGB影象。或者用rviz顯示:在終端輸入“rosrun rviz rviz”開啟rviz,點選add,修改Global Options裡的Fixed Frame為camera_depth_frame,選擇camera型別,新增成功後選擇camera選單下的Image Topic選項,選擇/camera/rgb/image_color.
顯示深度影象:方法一:在終端輸入“rosrun image_view image_view image:=/camera/depth/image_raw”,即可顯示深度圖;方法二:使用rviz顯示。在終端輸入“rosrun rviz rviz”開啟rviz,修改Global Options裡的Fixed Frame為/camera_depth_optical_frame,接著點選add新增PointCloud2型別,修改topic為/camera/depth/points。
標定模板影象的獲取:RGB圖可直接截圖獲取;深度圖由於看不清,我採用在幾乎黑暗的環境下,遮蔽Kinect紅外光發射鏡頭,使用一個外接的紅外光源照射標定模板來採集深度圖。圖片獲取後,在Matlab軟體中利用toolbox_calib進行攝像頭的標定。