ROS對深度相機獲取的點雲進行簡單處理的

2021-09-25 09:37:42 字數 1133 閱讀 8982

參考:

深度相機:奧比中光(orbbec) astra_min_s

建立ros工程

catkin_create_pkg my_pcl_tutorial pcl_conversions pcl_ros roscpp sensor_msgs
然後,在package.xml中增加如下**

libpcl-all-dev

libpcl-all

建立源**檔案src/example.cpp,將下面的**貼上到裡邊

#include //pcl 的相關的標頭檔案

#include #include #include #include //濾波的標頭檔案

#include ros::publisher pub;

void cloud_cb (const sensor_msgs::pointcloud2constptr& cloud_msg)

int main (int argc, char** ar**)

在cmakelists .txt中增加下面的內容

add_executable(example src/example.cpp)

target_link_libraries(example $)

編譯工作空間

cd ~/catkin_ws

catkin_make

執行

執行astra相機驅動程式

roslaunch astra_camera astra.launch
執行我們編寫的攝像頭點雲資料降取樣程式

rosrun my_pcl_tutorial example input:=/camera/depth/points
執行rviz,檢視濾波前後的點雲資料

rosrun rviz rviz
rviz中,global options中的fixed frame選擇camera_depth_frame;通過add按鈕可以新增camera影象資料以及降取樣前後的點雲資料到displays面板中,從而檢視執行效果。

相機深度轉點雲公式原理

1 世界座標到影象的對映過程,考慮世界座標點m xw,yw,zw 對映到影象點m u,v 的過程,如下圖所示 省略推導過程,直接給最終變換公式 u,v為影象座標系下的任意座標點,u0,v0分別為影象的中心座標。xw,yw,zw表示世界座標系下的三維座標點,相機座標和世界座標下的同乙個物體具有相同的深...

深度相機生成點雲資料的原理

2019年8月4日 16 26 40 rgb d 影象中的rgb提供了畫素座標系下的x,y座標,而深度圖直接提供了相機座標系下的 z 座標,也就是相機與點的距離。根據 rgb d 影象的資訊和相機的內參,可以計算出任何乙個畫素點在相機座標系下的座標。根據 rgb d 影象的資訊和相機的內參與外參,可...

ROS對topic進行幀率的變化,以及顯示

git clone 對其進行catkin make編譯以及加入環境變數即可,是乙個ros package。2.把左右相機的資料幀率降到4 rosrun topic tools throttle messages mynteye right image raw 4 這條指令會預設的建立乙個新的幀率為4...