当前位置: 首页 > news >正文

给大家科普一下b站推广网站/网络广告形式

给大家科普一下b站推广网站,网络广告形式,wordpress3.9.x,乌鲁木齐app制作PCL使用积分图像估计点云的表面法线适用对象为什么使用积分图像什么是积分图像PCL核心代码实现完整代码参考资料适用对象 有序点云 为什么使用积分图像 在PCL估计点云的表面法向量一文中,可以看到,要估计无序点云的法线,需要先确定待估计点…

PCL使用积分图像估计点云的表面法线

  • 适用对象
  • 为什么使用积分图像
  • 什么是积分图像
  • PCL核心代码实现
  • 完整代码
  • 参考资料

适用对象

有序点云

为什么使用积分图像

在PCL估计点云的表面法向量一文中,可以看到,要估计无序点云的法线,需要先确定待估计点的最近邻集合,然后再用PCA拟合切平面,从而获得表面法线。
而要确定待估计点的最近邻集合,不管是用k近邻还是半径约束的方法,都将是计算量巨大的。如果输入的点云是有序点云,利用这种有序性可以明显加快表面法线估计的速度,积分图像正是为了利用点云有序性提高法线估计的速度而引入的。

什么是积分图像

在二维图像中,将每一个像素点都用原图像中像素点与原点构成的矩形中所有像素之和代替,那么生成的新的图像就是积分图像。
设原图像为I(x,y),积分图像为SAT(x,y),则:
在这里插入图片描述
在这里插入图片描述

PCL核心代码实现

// estimate normals
pcl::PointCloud<pcl::Normal>::Ptr normals (new pcl::PointCloud<pcl::Normal>);pcl::IntegralImageNormalEstimation<pcl::PointXYZ, pcl::Normal> ne;	//创建积分图像法线估计对象
ne.setNormalEstimationMethod (ne.AVERAGE_3D_GRADIENT);				//设置法线估计方法
ne.setMaxDepthChangeFactor(0.02f);									//设置最大深度变化系数
ne.setNormalSmoothingSize(10.0f);									//设置优化法线时考虑的邻域大小
ne.setInputCloud(cloud);											//设置输入点云(必须输入有序点云)
ne.compute(*normals);												//执行计算

其中,PCL提供了三种常规法线估计方法:

enum NormalEstimationMethod
{COVARIANCE_MATRIX,AVERAGE_3D_GRADIENT,AVERAGE_DEPTH_CHANGE
};

COVARIANCE_MATRIX模式创建9个积分图像,根据具体某个点的局部邻域的协方差矩阵来计算这个点的法线。
AVERAGE_3D_GRADIENT模式创建了6个积分图像来计算水平和垂直方向的平滑后的三维梯度,并使用两个梯度间的向量积计算法线。AVERAGE_DEPTH_CHANGE模式只创建了一个单一的积分图像,并根据平均深度变化计算法线。

完整代码

#include <pcl/io/io.h>
#include <pcl/io/pcd_io.h>
#include <pcl/features/integral_image_normal.h>
#include <pcl/visualization/cloud_viewer.h>
int main ()
{// load point cloudpcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ>);pcl::io::loadPCDFile ("table_scene_mug_stereo_textured.pcd", *cloud);// 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);ne.setMaxDepthChangeFactor(0.02f);ne.setNormalSmoothingSize(10.0f);ne.setInputCloud(cloud);ne.compute(*normals);// visualize normalspcl::visualization::PCLVisualizer viewer("PCL Viewer");viewer.setBackgroundColor (0.0, 0.0, 0.5);viewer.addPointCloudNormals<pcl::PointXYZ,pcl::Normal>(cloud, normals);while (!viewer.wasStopped ()){viewer.spinOnce ();}return 0;
}

参考资料

Normal Estimation Using Integral Images

http://www.lbrq.cn/news/814447.html

相关文章:

  • dreamweaver网站建设教程视频/西安百度竞价外包
  • web3d游戏网站开发/湖州网站建设制作
  • 无锡做公司网站/网页推广链接怎么做
  • 小程序开发制作公司哪家好/东营网站seo
  • 报名网站怎么做/计算机培训机构哪个最好
  • 网站欣赏/成功的品牌推广案例分析
  • 小程序怎么做微网站链接/今天的新闻最新消息
  • php网站开发图文教程/网站视频播放代码
  • 做网站 乐清/百度公司电话是多少
  • 工作室怎么网站备案/西安seo网站关键词
  • wordpress二次开发手册chm/搜索引擎关键词优化技巧
  • 网站tag 怎么实现/aso优化渠道
  • 网站有二级域名做竞价/成都网站建设技术支持
  • 自己怎么做视频收费网站/手机网站制作软件
  • 徐州小程序开发/如何软件网站优化公司
  • 娄底高端网站建设/最佳磁力引擎吧
  • 人工智能设计系统公司/抖音seo运营模式
  • wordpress 微信导航站/站长工具同大全站
  • 做网站带来的好处/广告联盟app下载官网
  • 公众号小程序商店/app搜索优化
  • b站直接进入/企业建站用什么好
  • 开源网站建设/外贸谷歌推广
  • 抚州南城网站建设/色盲怎么治疗
  • 部门网站建设管理典型经验材料/什么是搜索引擎竞价推广
  • 网站建设分为什么/百度极速版下载
  • wordpress代码中文注释/seo服务建议
  • 2008 iis asp配置网站/合肥seo搜索优化
  • 网站推广大概需要多少钱/人民日报今天新闻
  • 福建设计院网站/地推放单平台
  • 北京网站开发多少钱/服务器
  • 生产环境使用云服务器(centOS)部署和使用MongoDB
  • Linux 如何统计系统上各个用户登录(或者登出)记录出现的次数?
  • Java,八股,cv,算法——双非研0四修之路day16
  • JVM 基础架构全解析:运行时数据区与核心组件
  • MyBatisPlus(一)简介与基本CRUD
  • TDengine 转化函数 TO_TIMESTAMP 用户手册