求助帖,pcl 點雲視覺化。

2021-10-06 02:57:12 字數 1678 閱讀 1222

我自己整理了一段視覺化的**,想的以後可以直接用很方便,但出現了一點問題,請各位路過的到有幫忙解答。。

實現的功能:如果命令列輸入乙個點雲,則視覺化這個點雲;如果輸入兩個,則在同乙個視窗顯示這兩個點雲。

問題:執行的時候,如果輸入兩個點雲是沒毛病的,但只輸入乙個 點雲時顯示不出來。

下面是**:

#include #include #include #include #include int

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

std::cout << "file1 points: " << cloud1->points.size() << std::endl;

boost::shared_ptrfor_visualizer_v(new pcl::visualization::pclvisualizer("pointcloud viewer"));

for_visualizer_v->setbackgroundcolor(255, 255, 255);

if (argc < 2)

else

std::cout << "file2 points: " << cloud2->points.size() << std::endl;

int v1(0);

for_visualizer_v->createviewport(0.0, 0.0, 0.5, 1, v1);//位置

for_visualizer_v->setbackgroundcolor(100, 100, 100, v1);//第一部分背景

for_visualizer_v->addpointcloud(cloud1, "cloud1", v1);

for_visualizer_v->setpointcloudrenderingproperties(pcl::visualization::pcl_visualizer_color, 0, 255, 0, "cloud1");//「cloud」的顏色

for_visualizer_v->setpointcloudrenderingproperties(pcl::visualization::pcl_visualizer_point_size, 2, "cloud1");//「cloud」點雲點的大小

int v2(0);

for_visualizer_v->createviewport(0.5, 0.0, 1, 1, v2);

for_visualizer_v->setbackgroundcolor(0, 150, 180, v2);

for_visualizer_v->addpointcloud(cloud2, "cloud2", v2);

for_visualizer_v->setpointcloudrenderingproperties(pcl::visualization::pcl_visualizer_color, 255, 0, 0, "cloud2");

for_visualizer_v->setpointcloudrenderingproperties(pcl::visualization::pcl_visualizer_point_size, 2, "cloud2");

} while (!for_visualizer_v->wasstopped())

return 0;

}

PCL視覺化顯示點雲

1 引用 僅僅是簡單的顯示點雲,可以使用cloudviewer類。這個類非常簡單易用。但要注意,它不是執行緒安全的。如果要用於多執行緒,還要參考pclvisualizer。需要注意的是,pointcloud的資料型別要和pcd檔案中或者 中的pointt一致!並且 cloudviewer除了顯示什麼...

PCL點雲視覺化及濾波處理

看pcl已經有一段時間了,慢慢有了一點感悟和積累,想把自己的學習經歷記錄下來。下面這一段程式是用來進行點雲視覺化和使用voxelgrid濾波器對點雲進行下取樣處理的 include include include include include include std stringstream ss...

PCL 多點雲視覺化視窗

視覺化點雲的時候,有時候需要顯示對比,這時就需要同時顯示兩個甚至多個點雲。viewer createviewport double xmin,double ymin,double xmax,double ymax createviewport是用於建立新視口的函式,所需的4個引數分別是視口在x軸的最...