
三维重建
文章平均质量分 79
AIGC Studio
计算机专业研究生,人工智能领域优质创者者,研究计算机视觉、深度学习、图像生成、GAN、VAE、Stable Diffusion、Sora、AIGC视觉大模型等,有三维重建、VTK开发、点云处理和医学图像处理等开发经验。曾在滴滴,小米任职算法工程师。
展开
-
三维网格表示
三维网格表示网格有哪些数据结构网格的数据结构其实就是一个图结构:点,边,面。可以是有向图,比如半边结构,也可以是无向图。在不同的软件或者开发包里,网格数据结构的实现都是有差异的。这种差异主要体现在网格连接关系的记录结构上,比如顶点是否记录邻域点,边,面信息,边是否记录邻域面信息等。记录的信息越多,查询的时候越方便,但是冗余的信息也越多,如果网格连接关系有变动,维护的信息也越多。另外翻译 2017-08-08 22:55:42 · 5538 阅读 · 0 评论 -
点云obj格式转换成pcd格式
#include #include #include #include #include #include //loadPolygonFileOBJ所属头文件;using namespace pcl;int main(){pcl::PolygonMesh mesh;pcl::io::loadPolygonFileOBJ("d:\head1.obj", mesh);pcl::转载 2017-09-17 14:44:56 · 7665 阅读 · 12 评论 -
点云pcd格式转换成ply格式
转载请注明出处:http://my.csdn.net/ye_shen_wei_mianPCL中的常用的点云存储文件为.pcd文件,但是很多场合下使用的点云存储文件为.ply文件,特别是要在meshlab中查看的时候。PCL中有相应的类PLYWriter可以帮助我们实现从.pcd文件到.ply文件的转换。值得一提的是,在PCL的源码pcl-master中的tools文件夹里有很多范例转载 2017-09-18 19:15:49 · 5743 阅读 · 0 评论 -
pcl点云配准
PCL点云配准(1)在逆向工程,计算机视觉,文物数字化等领域中,由于点云的不完整,旋转错位,平移错位等,使得要得到的完整的点云就需要对局部点云进行配准,为了得到被测物体的完整数据模型,需要确定一个合适的坐标系,将从各个视角得到的点集合并到统一的坐标系下形成一个完整的点云,然后就可以方便进行可视化的操作,这就是点云数据的配准。点云的配准有手动配准依赖仪器的配准,和自动配准,点云的转载 2017-09-18 19:35:19 · 2824 阅读 · 6 评论 -
pcl点云配准二
PCL点云配准(2)(1)正态分布变换进行配准(normal Distributions Transform)介绍关于如何使用正态分布算法来确定两个大型点云之间的刚体变换,正态分布变换算法是一个配准算法,它应用于三维点的统计模型,使用标准最优化技术来确定两个点云间的最优匹配,因为其在配准的过程中不利用对应点的特征计算和匹配,所以时间比其他方法比较快,对于代码的解析转载 2017-09-18 19:36:14 · 807 阅读 · 0 评论 -
三维重建概述
三维重建技术通过深度数据获取、预处理、点云配准与融合、生成表面等过程,把真实场景刻画成符合计算机逻辑表达的数学模型。这种模型可以对如文物保护、游戏开发、建筑设计、临床医学等研究起到辅助的作用。1.1 研究背景及意义人类通过双眼来探索与发现世界。人类接收外部信息的方式中,有不到三成来自于听觉、触觉、嗅觉等感受器官,而超过七成、最丰富、最复杂的信息则通过视觉[1]进行感知的。计算机视觉转载 2017-09-18 20:44:53 · 9692 阅读 · 7 评论 -
三维重建概述二
基于视觉的三维重建,指的是通过摄像机获取场景物体的数据图像,并对此图像进行分析处理,再结合计算机视觉知识推导出现实环境中物体的三维信息。1. 相关概念(1)彩色图像与深度图像彩色图像也叫作RGB图像,R、G、B三个分量对应于红、绿、蓝三个通道的颜色,它们的叠加组成了图像像素的不同灰度级。RGB颜色空间是构成多彩现实世界的基础。深度图像又被称为距离图像,与灰度图像中像转载 2017-09-18 20:46:35 · 3682 阅读 · 3 评论 -
使用k-d树进行无序点云去噪
离散点云的点之间是没有拓扑结构的,因此为了找到它的几何属性,可以找到各点的邻域结构。对于采样点pi∈P定义其邻域Nkpi为采样点pi的最近的k个采样点组成的集合,即K-nearest neighbors。 那么寻找K-nearest neighbours的方法主要由以下三种: * 八叉树法 * 空间网格法 * k-d树法一、八叉树法(1)首先确定数据点集最小包围转载 2017-09-18 20:50:37 · 1278 阅读 · 0 评论 -
深度图,点云图滤波去噪方法
泊松方程滤波: 泊松方程滤波的方法对深度图像进行滤波降噪。通过泊松方程滤波算法对被测物体或环境的表面进行判断,分辨出表面特征点是否有噪声成分。根据泊松方程滤波算法的定义,微软公司给出的方法其基本原理为:首先,获取被测物体表面的特征点,将每个特征点的坐标经旋转运算和坐标转换等运算得到每个特征点的方向和方向角度,并预测该特征点的空间坐标范围。然后,通过泊松方程和特征点的方向及方向角度,在以特原创 2017-10-07 15:09:26 · 11470 阅读 · 2 评论 -
点云滤波算法
转自:http://www.cnblogs.com/ironstark/p/4991232.html其实滤波算法主要就是几个关键算法,程序固定不动,每个算法只需几行,关键代码已经贴出,主要还是调参数,选择合适你自己的数据的滤波算法很重要,首先读取点云数据后,写上关键代码,大家实现一些就可以看到区别了。点云滤波的概念 点云滤波是点云处理的基本步骤,也是进行 high ...转载 2017-09-29 21:10:10 · 13636 阅读 · 0 评论 -
点云滤波处理方式
转载大神的博客,写的很好,之后会用过算法来验证各个滤波器的实现,并补充,欢迎做三维重建的朋友一起学习交流。PCL—低层次视觉—点云滤波(初步处理)点云滤波的概念 点云滤波是点云处理的基本步骤,也是进行 high level 三维图像处理之前必须要进行的预处理。其作用类似于信号处理中的滤波,但实现手段却和信号处理不一样。我认为原因有以下几个方面:点云不是函数,对转载 2017-10-10 12:26:54 · 2691 阅读 · 0 评论 -
kd_tree搜索最近邻点
k-d树[1] (k-dimensional树的简称),是一种分割k维数据空间的数据结构。主要应用于多维空间关键数据的搜索(如:范围搜索和最近邻搜索)。K-D树是二进制空间分割树的特殊的情况。应用背景编辑SIFT算法中做特征点匹配的时候就会利用到k-d树。而特征点匹配实际上就是一个通过距离函数在高维矢量之间进行相似性检索的问题。针对如何快速而准确地找到查询点的近邻,现原创 2017-10-22 10:31:33 · 4814 阅读 · 0 评论 -
八叉树 octree
八叉树 八叉树(Octree)的定义是:若不为空树的话,树中任一节点的子节点恰好只会有八个,或零个,也就是子节点不会有0与8以外的数目。那么,这要用来做什么?想象一个立方体,我们最少可以切成多少个相同等分的小立方体?答案就是8个。再想象我们有一个房间,房间里某个角落藏着一枚金币,我们想很快的把金币找出来,聪明的你会怎么做?我们可以把房间当成一个立方体,先切成八个小立方体,然后排除掉原创 2017-10-22 15:51:06 · 2244 阅读 · 0 评论 -
点云数据处理学习笔记
点云数据处理学习笔记 三维计算视觉研究内容包括: (1)三维匹配:两帧或者多帧点云数据之间的匹配,因为激光扫描光束受物体遮挡的原因,不可能通过一次扫描完成对整个物体的三维点云的获取。因此需要从不同的位置和角度对物体进行扫描。三维匹配的目的就是把相邻扫描的点云数据拼接在一起。三维匹配重点关注匹配算法,常用的算法有最近点迭代算法 ICP和各种全局匹配算法。转载 2017-11-10 16:29:13 · 15352 阅读 · 2 评论 -
三维人脸器官定位
人脸五官的布局定位,有一个大家都遵守的“三庭五眼”规则三庭五眼标准(细化完美): 1.眼睛的宽度,应为同一水平脸部宽度的3/10; 2.下巴长度应为脸长的1/5;眼球中心到眉毛底部的距离,应为脸长的1/10; 3.眼球应为脸长的1/14;鼻子的表面积,要小于脸部总面积的5/100; 4.理想嘴巴宽度应为同一脸部宽度的1/2。 四高三低标准: 1.“四高”:第一是,额部,第二个最原创 2017-11-29 18:04:57 · 2256 阅读 · 0 评论 -
ply格式转换成点云pcd格式
之前一直没找到关于ply转pcd,终于齐了,分享一波。#include #include #include #include #include #include #include #include #include #include #include using namespace pcl;using namespace pcl::io;using namesp原创 2017-12-23 21:14:38 · 4081 阅读 · 0 评论 -
三维图像切片提取
三维图像切片提取切片是指三维图像中的一个切面对应的图像。切面可以是过图像内部一点且平行于XY、YZ、XZ平面的平面,也可以是任意的过三维图像内部一点任意方向的平面。通过提取切片可以方便的浏览和分析图像内部组织结构,是医学图像浏览软件中的一个重要的功能。在VTK中vtkImageReslice类实现图像切片提取功能。#include <vtkSmartPointer.h> #in...原创 2018-03-12 17:27:04 · 9049 阅读 · 7 评论 -
TXT格式点云数据转换成pcd格式用pcl
#include "stdafx.h" #include pcl/io/pcd_io.h> #includeiostream> using namespace std; int numofPoints(char* fname){ int n=0; int c=0; FILE *fp; fp = fopen(fname,转载 2017-09-17 09:28:26 · 13607 阅读 · 21 评论 -
IntelliSense: cannot open source file "stdafx.h"[IntelliSense: 无法打开源文件 "stdafx.h"]
虽然提示这样的错误,但是编译程序是成功的。在低版本的VS2005/VS2008开发而在高版本VS2010、VS2012、VS2013等打开时会遇到这样的问题。解决方法: 项目属性 => 配置属性 => C/C++ => 常规 => 附加包含目录中增加:$(ProjectDir)见下图...原创 2017-09-17 09:26:04 · 933 阅读 · 0 评论 -
从Delaunay三角化到网格质量
从Delaunay三角化到网格质量Delaunay三角化Delaunay三角化,就是点云的一种三角化方法,它具有某些好的性质:网格中的最小角最大化任意三角形的外接圆内不含三角形以外的顶点三角化的网格是点云的凸包最大化所有三角面片的内切圆的平均值其它......带约束的Delaunay三角化有时候,点云包含一些线段连接约束,如下图1所示。有翻译 2017-08-08 23:18:34 · 5271 阅读 · 6 评论 -
网格测量
网格测量测地距离是什么测地曲率:曲面上的曲线有一个曲率向量。这个向量往曲面的法线做投影,得到的投影向量就是法曲率向量;往曲面的切平面做投影,得到向量就是测地曲率向量,这个向量的大小就是测地曲率。所以从定义上看,测地曲率刻画了曲线在曲面内蕴的弯曲程度,而法曲率刻画了曲线在嵌入空间的弯曲程度。比如一张平面上的直线的测地曲率为0,法曲率为0,如果把这张纸弯曲成圆柱,纸上的直线在三维空翻译 2017-08-08 23:32:28 · 1710 阅读 · 0 评论 -
网格UV展开
网格UV展开UV展开是什么参数曲面的参数域变量一般用UV字母来表达,比如参数曲面F(u,v)。所以一般叫的三维曲面本质上是二维的,它所嵌入的空间是三维的。凡是能通过F(u,v)来表达的曲面都是参数曲面,比如NURBS曲面。对于三角网格,如果能把它与参数平面建立一一映射,那么它也就被参数化了,这个映射就是UV展开。如下图所示,左图是右边网格在参数平面上的展开,这样每个顶点都有了一个u翻译 2017-08-08 23:39:13 · 10463 阅读 · 2 评论 -
彩色网格
彩色网格彩色网格分类彩色网格主要分两类,一类是彩色顶点网格,一类是彩色贴图网格。彩色顶点网格:网格顶点带有颜色,三角形的颜色由网格顶点颜色插值得到。网格的色彩分辨率等于顶点分辨率。如下图上所示。彩色贴图网格:网格的三角形的颜色对应于图像的一个三角片。网格的色彩分辨率等于图像的色彩分辨率。如下图下所示。彩色顶点网格的顶点分辨率和色彩分辨率一样,当网格顶点比较少的时翻译 2017-08-09 09:07:46 · 918 阅读 · 0 评论 -
三维变换
三维变换齐次坐标齐次坐标,就是在传统坐标后面加入一维变量:C -> (C, W)。在三维空间中,它把三维坐标(X, Y, Z)提升到了四维的射影空间中(X, Y, Z, W),对应的线性变换就是射影变换。齐次坐标转回三维空间坐标分两种情况,如果W为0,则(X, Y, Z)表示三维空间中的一个方向,如果W不为0,则对应的三维点坐标为(X/W, Y/W, Z/W)。齐次坐标表示有两个好翻译 2017-08-09 10:22:38 · 1574 阅读 · 0 评论 -
三维几何特征
三维几何特征三维几何描述子(3D Geometry Descriptor)三维几何描述子是对三维元素的几何表示。这里的元素可以是一个点云,网格,也可以是点云里的一个点,网格里的一个顶点或面。一个好的几何描述子,一般有这些特性:区分性强(Descriptive):描述子差别大小与几何差别大小正相关。简洁(Concise)可重复计算(Repeatable):相同或相似的翻译 2017-08-09 10:36:17 · 5177 阅读 · 0 评论 -
三维拾取
三维拾取3D中的坐标系统3D系统中有各种各样的坐标系,如世界坐标系,相机坐标系,屏幕坐标系等。总的来讲,一种是全局坐标系,比如世界坐标系;一种是局部坐标系,它是相对于某种参照物为原点的坐标系,如相机坐标系。世界坐标系:三维世界的全局坐标系相机坐标系:以相机为原点,相机朝向为坐标轴的局部坐标系屏幕坐标系:三维模型投影到2D屏幕上的坐标系,鼠标坐标就在屏幕坐标系中父翻译 2017-08-09 10:54:15 · 1545 阅读 · 0 评论 -
数值优化
数值优化有哪些数值优化的方法在三维数据处理的算法里,绝大部分都可以归结为优化一个能量E = Edata + Eregular。Edata为数据项,一般表达了算法想达到的目的,比如变形算法里顶点的位置约束;Eregular为正则项,一般用于规范化解空间在可行的区域内,比如变形算法里的形状约束。有时候还有一些能量约束条件,包括等式和不等式约束。E通常是非线性函数。线性问题一般可翻译 2017-08-09 11:01:07 · 1276 阅读 · 0 评论 -
高精度三维空间测量、定位与追踪(上)
https://www.leiphone.com/news/201708/UixD9DKRXaUTts1d.html转载 2017-08-10 09:25:09 · 3341 阅读 · 0 评论 -
细分网格建模
细分网格建模细分曲面介绍在三维建模领域里,细分曲面算是一个比较常见的术语了,经常用于动画角色的原型设计,甚至在工业设计领域,也开始流行用细分建模来进行原型设计。教科书里一讲到细分曲面,必然提一下《Geri's Game》,这部动画片里人物造型应用的就是细分曲面技术。那么究竟什么是细分曲面呢?小时候学素描,开始的时候都要学着画一个圆。一般从正方形开始,然后不断的割角,最后翻译 2017-08-06 19:26:43 · 2682 阅读 · 0 评论 -
三维点云表示
三维点云表示点云数据结构点云数据结构非常简单,只有点的三维坐标信息和法线信息。下面是一个点云表示的抽象类: class GPP_EXPORT IPointCloud { public: IPointCloud(){} virtual Int GetPointCount() const = 0; virtua翻译 2017-08-06 19:28:07 · 3435 阅读 · 0 评论 -
点云法线
点云法线点云法线有什么用点云渲染:法线信息可以用于光照渲染,有些地方也称着色。如下图所示,左边的点云没有法线信息,右边的点云有法线信息。比如Phone光照模型里,漫反射光照符合Lambert余弦定律:漫反射光强与N * L成正比,N为法线方向,L为点到光源的向量。所以,在模型边缘处,N与L近似垂直,着色会比较暗。点云的几何属性:法线可用于计算几何相关的信息,广泛应用于点云注册,翻译 2017-08-06 22:04:52 · 6079 阅读 · 0 评论 -
刚体变换
向量叉乘(Cross Product)----------------------------------------------------------------------------------------------------------------------------------------------------------刚体变换(转载 2017-08-06 23:07:53 · 18771 阅读 · 0 评论 -
Kinect数据
Kinect数据Kinect数据如何处理?精度很低吗Kinect数据属于低精度的深度视频数据,两个特点:一个是精度低,一个是视频数据。可以应用KinectFusion技术把连续的K(比如K取30)帧数据融合到一块,作为一帧数据用于后续处理。如下图所示,左图是一帧数据,右图是取了连续的30帧数据融合到一块的数据。KinectFusion是什么KinectFus翻译 2017-08-07 09:30:29 · 842 阅读 · 0 评论 -
cmake编译opencv链接动态库
http://www.cnblogs.com/xinxue/p/5766756.html原创 2017-09-14 20:33:09 · 990 阅读 · 0 评论 -
对stl数据进行布尔运算,vtk代码已实现
布尔运算介绍布尔运算是英国数学家布尔在1847年发明的处理二值关系的逻辑数学计算法,主要包括联合(Union),相交(Intersection),相减(subtraction)。直接用图说明,及时逻辑运算并交差。对于程序自动生成的数据比如小球,圆柱等布尔运算有着比较好的结果,但是对于自己要用到的实验数据,那么问题就很多了,比如两个数据的原始位置不一样,而布尔运算读取的是数据的原始位置。比如...原创 2019-01-16 14:56:05 · 6835 阅读 · 13 评论