按照给的CMakeLists和代码直接使用,没做修改,编译报错,环境是VS2019x64-cmake3.23-PCL1.12.1
源代码
#include <pcl/point_types.h>
#include <pcl/io/pcd_io.h>
#include <pcl/kdtree/kdtree_flann.h>
#include <pcl/filters/bilateral.h>
#include <pcl/search/impl/kdtree.hpp>
typedef pcl::PointXYZI PointT;
int
main (int argc, char*argv[])
{
std::string incloudfile = argv[1];
std::string outcloudfile = argv[2];
float sigma_s = atof (argv[3]);
float sigma_r = atof (argv[4]);
// 读入点云文件
pcl::PointCloud<PointT>::Ptr cloud (new pcl::PointCloud<PointT>);
pcl::io::loadPCDFile (incloudfile.c_str (), *cloud);
pcl::PointCloud<PointT>outcloud;
// 建立kdtree
pcl::KdTreeFLANN<PointT>::Ptr tree (new pcl::KdTreeFLANN<PointT>);
pcl::BilateralFilter<PointT> bf;
bf.setInputCloud (cloud);
bf.setSearchMethod (tree);
bf.setHalfSize (sigma_s);
bf.setStdDev (sigma_r);
bf.filter (outcloud);
// 保存滤波输出点云文件
pcl::io::savePCDFile (outcloudfile.c_str (), outcloud);
return (0);
}
cmake中flann-dir找不到,代码中一个宏定义报错,一个转换报错
使用网上的别人的简单例子编译是成功的,书上的例子因为这个转换无法通过