1. 程式人生 > >ROS UVC相機標定和影象矯正

ROS UVC相機標定和影象矯正

相機標定

甩個連結,這裡將講解的非常清楚。

相機標定這裡不管是uvc攝像頭也好還是usb攝像頭,主要是能不能把相機影象顯示出來,當有話題image_raw有資料後,就可以進行標定了。
標定完成後點save,在我電腦是將資料存放到了/tmp/下,具體會在終端提示路徑。

標定完成後,接下就是怎麼用.yaml引數了。

影象矯正

我使用的是uvc_camera,具體怎麼使用請檢視我的上篇關於uvc的博文。

按照官方的給的樣例,在launch 檔案中通過指定camera_info_url引數來載入標定資料。

你沒看錯,它僅僅是載入了資料而已,然後以/camera/camera_info

話題給釋出了出來。尼瑪,KD啊這是。

那麼怎麼來進行影象矯正呢?

噹噹噹當~

image_proc登場!

image_procros的一個包,他就是專門用來矯正影象的。

怎麼用呢?

image_proc會預設訂閱兩個話題image_rawcamera_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~