2020年9月25日 星期五

[ROS] 顯示 USB Camera 影像的工具

下面我們將介紹三種可以在 ROS 中,顯示 USB Camera 影像的工具:image_view, rqt_image_view rviz

 

在這個範例中,我們透過 usb_cam 節點,將 USB Camera 影像串流發佈到 /usb_cam/image_raw 主題上。如果不知道 usb_cam 如何使用,可以參考《使用 USB Camera 攝影機 (使用 usb_cam 套件)》。

 

執行下列指令:

 

$ roscore

$ rosrun usb_cam usb_cam_node

 

接著,我們就可以使用下列三種方式的其中一種,在螢幕上顯示 USB Camera 影像。

 

1. 使用 image_view 顯示 USB Camera 影像

 

第一種方式,使用 image_view 來顯示 USB Camera 影像。image_view 的指令格式如下,在指令的參數中指定要訂閱的主題,image_view 節點會從該主題接收影像串流,並顯示在螢幕上。

 

指令格式:

 

$ rosrun image_view image_view image:=<image topic>

 

因為 usb_cam 會把 USB Camera 擷取到的影像,發佈到 /usb_cam/image_raw 這個主題。所以,將上面指令格式中的 <image topic> 替換成 /usb_cam/image_raw,實際要執行的指令就是:

 

$ rosrun image_view image_view image:=/usb_cam/image_raw

 

執行上述指令之後,會跳出一個 image_view 視窗,並在視窗中顯示 USB Camera 的影像。

 

 

 

2. 使用 rqt_image_view 顯示 USB Camera 影像

 

第二種方式,使用 rqt_image_view 來顯示 USB Camera 影像。直接執行下列指令,啟動 rqt_image_view

 

$ rqt_image_view

 

執行上述指令之後,會跳出一個 rqt_image_view 視窗。在視窗的左上角可以選擇,要從哪個主題讀取影像串流。選擇 /usb_cam/image_raw 這個主題之後,就會在視窗中顯示接收到的 USB Camera 影像。

 

 

 

3. 使用 rviz 顯示 USB Camera 影像

 

第三種方式,使用 rviz 來顯示 USB Camera 影像。直接執行下列指令,啟動 rviz

 

$ rviz

 

執行上述指令之後,會跳出一個 rviz 視窗。在 rviz 視窗中,點擊 [ Add ] 按鈕,然後在新跳出的視窗中選擇 [ By topic ] 分頁。在 [ By topic ] 分頁裡面,選擇 [ /usb_cam ] >  [ /image_raw ] > [ Image: raw ],然後點擊 [ OK ]

 

 

最後,在 rviz 視窗的左下角會出現一個 image 小窗格,並在 image 小窗格中顯示 USB Camera 影像。

 

 

沒有留言:

張貼留言

和我聯絡

名稱

以電子郵件傳送 *

訊息 *