PCL學習(一)從PLY文件讀入點雲數據


#include <iostream>  
#include <pcl/io/pcd_io.h>  
#include <pcl/point_types.h>  
#include <pcl/io/ply_io.h>

int main(int argc, char** argv)
{
	pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);

	if (pcl::io::loadPLYFile<pcl::PointXYZ>("model.ply", *cloud) == -1) //* load the file  
	{
		PCL_ERROR("Couldn't read file test_pcd.pcd \n");
		system("PAUSE");
		return (-1);
	}
	std::cout << "Loaded "
		<< cloud->width * cloud->height
		<< " data points from test_pcd.pcd with the following fields: "
		<< std::endl;
	for (size_t i = 0; i < cloud->points.size(); ++i)
		std::cout << "    " << cloud->points[i].x
		<< " " << cloud->points[i].y
		<< " " << cloud->points[i].z
		<< std::endl;
	//std::string filename("test.pcd");
	//pcl::PCDWriter writer;
	//writer.write(filename, *cloud);

	system("PAUSE");
	return (0);
}

  上面這段代碼從ply文件中讀入點雲

#include <iostream>  
#include <pcl/io/pcd_io.h>  
#include <pcl/point_types.h>  
#include <pcl/io/ply_io.h>
#include <pcl/visualization/cloud_viewer.h>

int main(int argc, char** argv)
{
	pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);

	if (pcl::io::loadPLYFile<pcl::PointXYZ>("model.ply", *cloud) == -1) //* load the file  
	{
		PCL_ERROR("Couldn't read file test_pcd.pcd \n");
		system("PAUSE");
		return (-1);
	}
	//pcl::StatisticalOutlierRemoval::applyFileter()
	pcl::visualization::CloudViewer viewer("Viewer");
	viewer.showCloud(cloud);

	system("PAUSE");
	return (0);
}

  將讀入的ply文件可視化出來


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM