我自己整理了一段視覺化的**,想的以後可以直接用很方便,但出現了一點問題,請各位路過的到有幫忙解答。。
實現的功能:如果命令列輸入乙個點雲,則視覺化這個點雲;如果輸入兩個,則在同乙個視窗顯示這兩個點雲。
問題:執行的時候,如果輸入兩個點雲是沒毛病的,但只輸入乙個 點雲時顯示不出來。
下面是**:
#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軸的最...