PCL 라이브러리 학습(2) -- - 다중 점 클라우드 읽기 및 표시

운영 환경:
VS2013,PCL1.8.0
본고의 예에서 경로 "D:/vs project/cluster extraction.cpp/cluster extraction.cpp/"아래에 저장된 점 구름 파일의 이름은 각각 "cloud cluster 0.pcd", "cloud cluster 1.pcd", "cloud cluster 2.pcd"....."cloud_cluster_147.pcd "총 148개의 파일을 읽기 표시합니다. 다음은 코드입니다.

#include 
#include 
#include 
#include 
#include 
#include 
 
using namespace std;
 
int main()
{

//***************************read PCD file*****************************************

	pcl::PointCloud<:pointxyz>::Ptr source(new pcl::PointCloud<:pointxyz>());
    //      
    string addr = "D:/vs project/cluster_extraction.cpp/cluster_extraction.cpp/";
    string filename;
    //       
    int num = 147;
    
    boost::shared_ptr< pcl::visualization::PCLVisualizer > viewer(new pcl::visualization::PCLVisualizer("Viewer"));
    //    
    viewer->setBackgroundColor(0, 0, 0);
    //    
	int vp;
	viewer->createViewPort(0.0, 0.0, 1.0, 1.0, vp);

    for(int i = 0;i <= num; i++){
        //filename       
        filename = addr + "cloud_cluster_" + to_string(i) + ".pcd";
        //    
        pcl::io::loadPCDFile(filename, *source);

	    //      
	    pcl::visualization::PointCloudColorHandlerCustom<:pointxyz> source_color(source, 0, 255, 0);
 
	    viewer->addPointCloud<:pointxyz>(source, source_color, to_string(i), vp);
    
        //         
	    viewer->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 2, "source");
    }
    //     
    viewer->addCoordinateSystem(1.0);
	viewer->spin();	
}

좋은 웹페이지 즐겨찾기