在学习PCL的时候,遇到了一个例子,对于有序点云可以进行积分图(Integral Image)操作,点云库提供了4种实现的方法:

COVARIANCE_MATRIX, //局部协方差矩阵,建立9个积分图来计算法线
AVERAGE_3D_GRADIENT,//创建6个积分图来计算水平垂直方向平滑后的三维梯度
AVERAGE_DEPTH_CHANGE,//创建1个单一积分图,并从深度变化计算法线
SIMPLE_3D_GRADIENT //

可以对比一下前三种的效果并巩固一下实现多窗口显示。
代码段:
#include <pcl/io/io.h>
#include <pcl/io/pcd_io.h>
#include <pcl/features/integral_image_normal.h>//Integral images
#include <pcl/visualization/cloud_viewer.h>
int
main ()
{
//set up cloud
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ>);
pcl::io::loadPCDFile ("table_scene_mug_stereo_textured.pcd", *cloud);
//set up normal
pcl::PointCloud<pcl::Normal>::Ptr normals_1 (new pcl::PointCloud<pcl::Normal>);
pcl::PointCloud<pcl::Normal>::Ptr normals_2 (new pcl::PointCloud<pcl::Normal>);
pcl::PointCloud<pcl::Normal>::Ptr normals_3 (new pcl::PointCloud<pcl::Normal>);
std::vector<pcl::PointCloud<pcl::Normal>::Ptr> NormalPt {normals_1,normals_2,normals_3};
pcl::IntegralImageNormalEstimation<pcl::PointXYZ,pcl::Normal> ne_1;
pcl::IntegralImageNormalEstimation<pcl::PointXYZ,pcl::Normal> ne_2;
pcl::IntegralImageNormalEstimation<pcl::PointXYZ,pcl::Normal> ne_3;
ne_1.setInputCloud(cloud);
ne_

最低0.47元/天 解锁文章
1434

被折叠的 条评论
为什么被折叠?



