参考:

通常我们需要估计平面的方向,这就需要用到法线了,法线就是指垂直平面的线。

PCL中有自动求出法线的方法,我们来看一看,

首先假设我们有一个平面的点云cloud_xyz

要求出法线首先我们先定义一个法线估计的对象ne

pcl::NormalEstimation<:pointxyz pcl::normal> ne;

然后把要求的平面点云传给他

ne.setInputCloud (cloud_xyz);

这个方法求出cloud_xyz上每个点的法线方向,他是根据每个点附近的点云组成的平面求出的,所以我们需要设置一个半径,用来估计附近多大的范围取点来算平面,

ne.setRadiusSearch (0.05);

最后定义一个normal的对象来接受计算出来的法线

pcl::PointCloud<:normal>::Ptr cloud_normals (new pcl::PointCloud<:normal>);

计算并把结果保存在cloud_normals里

ne.compute (*cloud_normals);

这时算出来的法线就在这个对象里了,他里面的元素是和点云一一对应的,我们要访问每个点的法线方向,可以这样

for(int ix=0;ixpoints.size();ix++)

{

if(isnan(cloud_normals->points[ix].normal_x)||

isnan(cloud_normals->points[ix].normal_y)||

isnan(cloud_normals->points[ix].normal_z))

{

continue;

}

}

这里的isnan是判断法线是否为nan,因为如果一个点周围找不到足够的点计算平面,则法线中会赋值为nan,如果需要直接当作数字来用的同学们一定要注意这一点,使用我这种方法来判断。normal_x就是法线的x方向了,y z同理。然后PCL算出的法线是不知道正方向的,所以这点需要人为去判断正负。最后平面的法向量是各个点法向量和的平均。

pcl求平面法向量_PCL自动求解平面法向量参数化表示相关推荐

  1. pcl求平面法向量_线性代数6——平面方程与矩阵

    线性方程的几何意义 二元线性方程 该方程是一个二元线性方程组,包含两个方程,每个方程是一条直线,两条直线的交点就是该方程有唯一解,这就是二元线性方程的几何意义. 平面方程 空间内不在同一直线上的三点构 ...

  2. PCL点云处理之计算两平面交线(五十一)

    PCL点云处理之计算两平面交线(五十一) 前言 一.算法说明 二.实验代码: 前言 计算三维空间中,两个平面的交线 一.算法说明 已知: 1号平面的方程为A1x+B1y+C1z+D1=0 2号平面的方 ...

  3. 求根计算机在线,在线一元方程求解计算工具-一元函数自动求解在线计算器

    一元函数自动求解在线计算工具 牛顿法是求解的核心方法,它的维基百科的定义为:牛顿法是一种在实数域和复数域上近似求解方程的方法.方法使用函数f(x)的泰勒级数的前面几项来寻找方程f(x)=0的根.简言之 ...

  4. matlab 点云根据法向量投影到六个平面

    matlab 点云根据法向量投影到六个平面 一.原理 三维点云如何转为二维图像呢?目前一种有效的方法就是通过法向量投影的方法!该方法即能保留三维点云的连续性,还能避免投影时遮挡的问题! 点云(x,y, ...

  5. blender怎样给平面或曲面自动贴图

    blender怎样给平面或曲面自动贴图: 直接跟着下面这个视频学就行,非常棒! https://haokan.baidu.com/v?pd=wisenatural&vid=1656786237 ...

  6. python 空间法向量可视化_利用空间法向量求二面角具体方法

    如果已经求得各点坐标,或者说我们说的,能够建系, 就用"法向量法",所谓法向量,是指垂直于一个平面的直线, 根据向量可在平面内任意平移,我们可以知道,一个平面的法向量有无数多条. ...

  7. Cloudcompare 点到平面的距离以及点到平面的投影点

    Cloudcompare 点到平面的距离以及投影点坐标 引言 一.软件操作 二.源码解读 2.1 准备工作 2.2 计算距离 2.3 投影点坐标 引言 对比两组点云的相似度,一般都是使用距离来量化重合 ...

  8. 正在编写推箱子游戏的自动求解程序

    网上搜索了一下,有好多人现成的产品,不少国产的.编写这个程序只是为了回忆一下算法.不能丢了. 自动求解有俩种方案:一个是求最小行走步骤,一个是求最小推箱子数目. 第一种算法简单些,只要将小人推动的四个 ...

  9. java计算平面度,计算产品面的平面度和平行度(C#代码)

    和以前的同事聊了一下他最近的项目,需要求产品的平面度.也就是产品本身是否面不平整,对于在这个平面上安装摄像头之类的元件来说,这个平面度是受工艺管控的. 这个同事学校刚毕业没多久,学习得蛮快的,一年左右 ...

  10. 推箱子游戏的自动求解

    导读: 推箱子游戏的自动求解 简介 推箱子,又称搬运工,是一个十分流行的单人智力游戏.玩家的任务是在一个仓库中操纵一个搬运工人,将N个相同的箱子推到N个相同的目的地.推箱子游戏出现在计算机中最早起源于 ...

最新文章

  1. 计算机二级vfp模拟考试题,计算机等级考试二级VFP模拟练习题[10]
  2. 爬虫总结(五)-- 其他技巧
  3. hdu 6852Path6(最短路+最小割)
  4. 牛客网_PAT乙级_1018人口普查(20)
  5. Visio中插入公式
  6. java如何实现进程间的通信?
  7. 多媒体技术的应用领域有哪些?
  8. 深度森林:常见Warning及解决方案
  9. 论文阅读笔记:Sequential Matching Network: A New Architecture for Multi-turn Response Selection in Retrieva
  10. linux路由表怎么看懂,教你读懂Linux路由表
  11. 使用Typora添加数学公式
  12. python提取excel一列或多列数据另存为新表(1)
  13. C语言提高代码效率的几种方法,7个提升嵌入式C代码效率的方法-嵌入式系统-与非网...
  14. 音频文件的结构与规范——RIFF和WAVE音频文件格式
  15. 微信小程序云开发学习指南(一)
  16. 找到读取文本文件的方法
  17. Qt pro 文件详解
  18. 用户画像基础之数据架构
  19. 天狮集团新零售有什么优势?天狮直销等于天狮新零售?
  20. 2508. 马里奥吃金币

热门文章

  1. matlab的矩阵运算,MATLAB的矩阵运算
  2. win10系统下将DMG转为ISO镜像——(虚拟机黑苹果操作)
  3. 对机器学习实战第二章内容的思考
  4. IDEA 强大文件对比功能
  5. JS对List集合进行排序
  6. 计算机毕设(附源码)JAVA-SSM基于的网上拍卖系统
  7. Linux自学之旅-安装篇(一)
  8. 给Intel AX200装上个Killer 1650X驱动
  9. 双厨狂喜!海盗船机械键盘联名石之海,一起欧拉欧拉!
  10. Windows10 电脑蓝屏方案对照表