本文目录一览:
- 1、怎么在ubuntu运行点云程序
- 2、python 如何将三维数组转化为点云?三维数组中只有0或者1
- 3、点云配准用python怎么样
- 4、R和 Python 用于统计学分析,哪个更好
- 5、点云数据处理的5个步骤
怎么在ubuntu运行点云程序
在网上这里好多版本,我试过之后是这样安装完成的
sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl
sudo apt-get update
sudo apt-get install libpcl-all
现在相应的依赖关系:
sudo apt-get install Python-vtk sudo apt-get install libvtk-Java
此时pcl在Ubuntu上就安装完成了
python 如何将三维数组转化为点云?三维数组中只有0或者1
使用reshape命令对矩阵进行整形。使用方式reshape(X,m,n...)
改进方式:
a(:,:,1)=[1
2
3;4
5
6;7
8
9];
a(:,:,2)=[0
1;0
1
0;1
0];
a(:,:,3)=3
for
j=1:3
k=a(j,:,:);
k=reshape(k,3,3);%更改位置,3,3按照自己的矩阵变化,但要保证数目相同
[x,y]=eig(k);%x:特征向量;y:特征值。后期自己再改正哈程序
end
点云配准用python怎么样
点云配准过程,就是求一个两个点云之间的旋转平移矩阵(rigid transform or euclidean transform 刚性变换或欧式变换),将源点云(source cloud)变换到目标点云(target cloud)相同的坐标系下。
可以表示为以下的方程:
其中就是target cloud与source cloud中的一对对应点。
而我们要求的就是其中的R与T旋转平移矩阵。
R和 Python 用于统计学分析,哪个更好
根据我的使用经验,我认为一般性的科研可以使用numpy工具链做为主力。
首先,在写矩阵计算相关的语句时,numpy的语法几乎能逼近MATLAB的简洁程度,而其他语言相对来说稍微“难看、难写”一些。
其次,当程序不仅仅涉及到科学计算时,用Python就可以大发神威了。比如我自己遇到的一个实际问题:需要对点云进行一些非常复杂的优化操作,之后需要画出三维图且支持一些拉近拉远转视角的操作,并且还要做出一个不错的界面方便调整参数、载入数据等等。看到画三维点云的第一反应就是用OpenGL,但是使用C/C++写那些非常繁杂的数值优化...用MATLAB可以很舒服、很便捷地写出优化部分的代码,但是直接画大规模的三维点云的速度,以及它那令人忧伤的GUI...
那Python就行吗?是的。在数值计算方面,Numpy/Scipy,以及强大的机器学习包scikit.learn,让这个过程十分惬意。在画三维点云方面,PyOpengl包完全就是OpenGL的Python封装,速度非常快,而且语法几乎同OpenGL一样。最后,使用PyQt写出基于Qt的GUI,这至少是一个标准的完备的GUI包,外观功能都不错。最后的最后,这个程序不需改动就可以跨平台运行,只要Linux/Windows用户按照标准过程安装了相应的包就可以使用,不用折腾本地编译之类的事情。
还有一个问题是速度。Windows下使用python(x,y)、Linux下源里默认安装方法的Python链接的都是较慢的Blas/Lapack库,而MATLAB默认链接MKL,所以矩阵计算速度会慢非常多。但是至少在Linux下是很容易让Numpy链接上MKL的,这样的Numpy计算速度与MATLAB几乎相同,所以速度不是严重的问题。也许C++能在循环上秒杀Python,但是如果你涉及到矩阵计算,用的普通的BLAS/LAPACK库,那么在核心的某几步上会慢成渣,从而在总的速度上被Python超越,得不偿失。当然你也可以让C++程序链接上MKL库,但要移植到别的平台又是一番折腾。
最后就是开发环境,个人推荐Eclipse的Pydev,用起来几乎同MATLAB一样,尤其是调试和看变量值方面。
在统计问题方面,用R写起来最舒服,因为包全,这一点Python或者C比不上。而且R也能链接MKL大大加快速度。还有就是,如果你要写统计方面的论文,那论文里的代码用R似乎会“显得”你更“
专业”一些。
上学期有流形学习课,我用scikit.learn包,几乎每次只改一句话就能提交作业(把LLE变成ISOMAP什么的)。还有一门统计学习课,让我深刻感觉到R就是用来写老师布置的ESL后面的那些编程题的,因为那些方法的作者,以及这本书的作者,写的就是R的包。至于大规模计算、实际的大型工程问题,我没有经验,所以不能提供更多信息了。
补充:如果觉得自己链接MKL库编译Numpy和R麻烦的话,Python可以使用Canopy(就是之前的EPD),R可以使用Revolution R,都是一些商业公司帮配置好的完整发行版,链接了MKL库并支持其他一些特性(例如自带IDE等)。前者各平台都有,后者仅限Windows平台。
点云数据处理的5个步骤
1.点云滤波方法(数据预处理): 双边滤波、高斯滤波、条件滤波、直通滤波、随机采样一致性滤波。 VoxelGrid
2.关键点 ISS3D、Harris3D、NARF SIFT3D、
3.特征和特征描述 法线和曲率计算NormalEstimation、特征值分析Eigen-Analysis、EGI PFH、FPFH、3D Shape Context、Spin Image
4.点云匹配 ICP、稳健ICP、point to plane ICP、Point to line ICP、MBICP、GICP NDT 3D、Multil-Layer NDT FPCS、KFPCS