使用积分图进行法线估计
来源:互联网 发布:慧莫森软件科技 编辑:程序博客网 时间:2024/06/05 18:07
使用积分图(integral image)进行法线估计,这种方法仅适用于有序点云图,无序点云图需用其他方法。
#include<iostream>#include<pcl/io/pcd_io.h>#include<pcl/visualization/cloud_viewer.h>#include<pcl/features/integral_image_normal.h>int main(){//该方法只适用于有序点云pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);pcl::io::loadPCDFile("table_scene_mug_stereo_textured.pcd", *cloud);pcl::visualization::CloudViewer viewer_cloud("pcl viewer");viewer_cloud.showCloud(cloud);system("pause");// estimate normalspcl::PointCloud<pcl::Normal>::Ptr normals(new pcl::PointCloud<pcl::Normal>);pcl::IntegralImageNormalEstimation<pcl::PointXYZ, pcl::Normal> ne;ne.setNormalEstimationMethod(ne.AVERAGE_3D_GRADIENT);//设置估计方法//法线估计方法//COVARIANCE_MATRIX模式从具体某个点的局部邻域的协方差矩阵创建9个积分图,来计算这个点的法线//AVERAGE_3D_GRADIENT模式创建了6个积分图来计算水平和垂直方向的平滑后的三维梯度,并使用两个梯度间的向量积计算法线//AVERAGE_DEPTH_CHANGE模式只创建了一个单一的积分图,并从平均深度变化计算法线ne.setMaxDepthChangeFactor(0.02f);//最大深度变化系数ne.setNormalSmoothingSize(10.0f);//优化法线方向时考虑邻域大小ne.setInputCloud(cloud);//输入点云,必须为有序点云ne.compute(*normals);//执行法线估计存储结果到normalspcl::visualization::PCLVisualizer viewer("pcl viewer");viewer.setBackgroundColor(0.0, 0.0, 0.5);viewer.addPointCloudNormals<pcl::PointXYZ, pcl::Normal>(cloud, normals);//system("pause");while (!viewer.wasStopped()){viewer.spinOnce();}return 0;}
程序请具体见:http://download.csdn.net/detail/zpp13hao1/9823839(里面包含pcd文件、cmake文件等)
0 0
- 使用积分图进行法线估计
- 使用openmp加速法线估计
- pcl通过积分图来进行法线预测
- pcl通过积分图来进行法线预测
- PCL法线估计
- pcl里面的法线估计
- pcl里面的法线估计
- 估计一个点云的表面法线
- 估计一个点云的表面法线
- 使用OpenCV和Dlib进行人头姿态估计
- 基于多项式拟合的法线估计、点云平滑
- PCL:点云的法线估计(并显示)
- 点云PCL估计一个点云的表面法线
- 法线
- 使用collapsed gibbs sampling对LDA中参数进行估计的推导过程
- 使用极大似然法对逻辑回归中的参数进行估计的数学原理
- Blendshape模型生成法线图
- 点云相关学习总结一——估计一个点云的表面法线
- synchronized同步方法2
- virtualenv 使用
- 基于docker compose的应用服务部署
- Android jni(2)
- HBuilder封装APP
- 使用积分图进行法线估计
- Android启动流程分析之二:内核的引导
- 《Java虚拟机原理图解》 1.2.2、Class文件中的常量池详解(上)
- 记录
- 使用shell脚本守护node进程
- 代码解读
- boost学习之BOOST_PP_REPEAT
- 摄像头相关知识
- Android安全开发之启动私有组件漏洞浅谈