我们知道PCA可以用来降维,并使降维后的数据尽可能保持原来的特征。比如二维散乱的点:

经过PCA降维后,变成了一维直线,而该直线保证点尽可能分散,变成如下图(跟最小二乘是一样的):

具体原理可参考http://blog.codinglabs.org/articles/pca-tutorial.html

前面说的是二维降到一维时的情况,假如我们有一堆散乱的三维点云,则可以这样计算法线:

1)对每一个点,取临近点,比如取最临近的50个点,当然会用到K-D树

2)对临近点做PCA降维,把它降到二维平面上,可以想象得到这个平面一定是它的切平面(在切平面上才可以尽可能分散)

3)切平面的法线就是该点的法线了,而这样的法线有两个,取哪个还需要考虑临近点的凸包方向,这里就不叙述了,详情查看:点击http://www.pointclouds.org/documentation/tutorials/normal_estimation.php

PCA计算点云的法线相关推荐

  1. CUDA 编程实例:计算点云法线

    程序参考文章:http://blog.csdn.net/gamesdev/article/details/17535755  程序优化2 简介:CUDA ,MPI,Hadoop都是并行运算的工具.CU ...

  2. pcl点云特征提取 法线估计 PFH FPFH NARF 惯量偏心矩 RoPs特征 视点特征直方图VFH GASD特征

    pcl点云特征提取 法线估计 PFH FPFH NARF 惯量偏心矩  RoPs特征  视点特征直方图VFH GASD特征 博文末尾支持二维码赞赏哦 _ 如果要对一个三维点云进行描述,光有点云的位置是 ...

  3. pcl计算点云法向量

    最近因为项目,需要计算点云的法向量,所以在网上看了一些资料,然后知道pcl库里面有这些功能,pcl的法向量计算的原理: pcl里面计算点云(自己的理解) 根据顶点采样最近的局部点云(k个),根据自己的 ...

  4. 【点云重采样Resampling】Python-pcl 基于多项式平滑点云及法线估计的曲面重建

    1. 点云重采样 基于多项式平滑点云及法线估计的曲面重建以实现重采样,可以使得点云数据更规整一些,没之前那么杂乱. set_Compute_Normals(True) 可以通过在最小二乘法中进行法线估 ...

  5. PCL的PNG文件和计算点云重心

    PCL提供节约一点云的值为一个PNG图像文件的可能方案.显然,这只能用有序的点云来完成,因为生成的图像的行和列将与点云的对应完全一致.例如,如果你从一个传感器Kinect或Xtion的点云,你可以用这 ...

  6. Open3d之计算点云凸包

    点云的凸包是包含所有点的最小凸集. Open3D包含方法compute_convex_hull,该方法计算点云的凸包. 该实现基于Qhull. compute_convex_hull: 计算点云的凸包 ...

  7. Open3d之点云顶点法线估计

    代码展示 # -*-coding:utf-8 -*- import os import open3d as o3d import numpy as nptest_data_dir = '/home/p ...

  8. PCL之计算点云质心---pcl::compute3DCentroid()

    质心计算公式 质心指的是质量的中心,认为是物体质量集中于此点的假想点. 通常物体质心坐标计算公式如下: 其中,为各质点的坐标,为质点对应的质量. PCL函数原理 计算点云质心时,令上述公式中的即可,则 ...

  9. PCL:compute3DCentroid ❤️ 计算点云质心

    文章目录 1 函数原型 2 代码实现 3 输出结果 4 源码 1 函数原型 compute3DCentroid (const pcl::PointCloud<PointT> &cl ...

  10. 超融合一体机 oracle,oracle的pca私有云一体机超融合解决之道.pdf

    oracle的pca私有云一体机超融合解决之道 整合-聚合-融合, 甲骨文融合基础架构定义数据中心新概 May 2016 Copyright © 2014 Oracle and/or its affi ...

最新文章

  1. windows下nodejs express安装及入门网站,视频资料,开源项目介绍
  2. LLVM报错解决:/usr/bin/ld: cannot find -lz和/usr/bin/ld: cannot find -lncurses
  3. linux red hat 安装svn
  4. array专题3-一道题目不断分析就会慢慢有了思路
  5. centos7 安装MyCli MySQL 客户端
  6. MySQL命名、设计及使用规范《MySQL命名、设计及使用规范》
  7. matlab论坛真不活跃,MATLAB中文论坛常见问题归纳
  8. Netty 启动过程源码分析 (本文超长慎读)(基于4.1.23)
  9. 姜启源《数学建模》学习笔记 第一周
  10. 亲测沉梦Free免费易支付系统源码支持码支付
  11. 如何禁止软件联网,防止软件自动更新
  12. three.js透视投影相机PerspectiveCamera
  13. 解决 login.live.com onedrive.live.com 等微软国外网站打不开问题
  14. 深度学习之美 第五章 学习笔记
  15. python 生成pdf 文字和图片_Python系列—PDF文本与图片抽取
  16. 如何将PDF文件中的繁体字转成简体字?
  17. ROS下安装和运行SVO数据包和实时测验的过程记录
  18. 灿烂夏日里的翩翩蝴蝶结
  19. backtrack 5 虚拟机 安装
  20. C++析构函数的执行时机

热门文章

  1. MySQL grant、revoke 用户权限注意事项
  2. 玩音响发烧友必看的博客
  3. 修改设置Tomcat内存
  4. 管理例程——数据库管理员
  5. SQLServer 2008数据库查看死锁、堵塞的SQL语句
  6. 使用yahoo雅虎js库(YUI)建立无刷新的N级树(可添加删除节点)
  7. Oracle截取字符串函数和查找字符串函数,连接运算符||
  8. XINS 3.0 正式版发布,远程 API 调用规范
  9. Excel: 如何对Excel2007工作表做统一编辑修改
  10. unity双面显示shader