ROS UVC相機標定和影象矯正
阿新 • • 發佈:2018-11-11
相機標定
甩個連結,這裡將講解的非常清楚。
相機標定這裡不管是uvc攝像頭也好還是usb攝像頭,主要是能不能把相機影象顯示出來,當有話題image_raw
有資料後,就可以進行標定了。
標定完成後點save
,在我電腦是將資料存放到了/tmp/
下,具體會在終端提示路徑。
標定完成後,接下就是怎麼用.yaml
引數了。
影象矯正
我使用的是uvc_camera
,具體怎麼使用請檢視我的上篇關於uvc
的博文。
按照官方的給的樣例,在launch
檔案中通過指定camera_info_url
引數來載入標定資料。
你沒看錯,它僅僅是載入了資料而已,然後以/camera/camera_info
那麼怎麼來進行影象矯正呢?
噹噹噹當~
image_proc登場!
image_proc
是ros
的一個包,他就是專門用來矯正影象的。
怎麼用呢?
image_proc
會預設訂閱兩個話題image_raw
和camera_info
,執行之前需要指定名稱空間(namespace
),當然這個不是隨便指定的。和你為矯正的影象話題名稱有關。
例如:我的原始資料話題為:/camera/image_raw
和/camera/camera_info
,那麼你就需要指定名稱空間為camera
怎麼指定呢?兩種方式:
launch
檔案:
<launch> ... <group ns="camera"> <node pkg="image_proc" type="image_proc" name="suibian" /> </group> ... </launch>
- 命令方式:
$ ROS_NAMESPACE=camera rosrun image_proc image_proc
顯示矯後的影象
image_proc
會發布很多話題,單目我用到的是/camera/image_rect_color
,不加color
的為灰度圖,把原來image_view
節點定於的話題改為這個,就可以顯示矯正後的彩色影象了,
ok,搞定!
ps:發現標定的結果不是很完美,2333~