参考《点云PCL从入门到精通》这本书的第十二章部分。所有代码都是在qt中实现。
代码部分
main.cpp
#include <iostream>
#include <pcl/ModelCoefficients.h>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
#include <pcl/sample_consensus/method_types.h>
#include <pcl/sample_consensus/model_types.h>
#include <pcl/segmentation/sac_segmentation.h>
int main(int argc, char** argv)
{
pcl::PointCloud<pcl::PointXYZ> cloud;
//fill in the point cloud data, set width=15,height=1,which means the point cloud is random
cloud.width = 15;
cloud.height = 1;
cloud.points.resize(cloud.width*cloud.height);
//generate data, (x,y) of point cloud is random, but z=1,
for(size_t i=0; i < cloud.points.size();++i)
{
cloud.points[i].x = 1024*rand()/(RAND_MAX + 1.0f