python加载读取显示点云-开新坑-2021-11-06

2021.11.06.开了新坑,matlab很多教程还没做,就来忙着搞python了,在考虑就业还是升学的过程,打算学一点点的python作为提升,虽然不知道会不会只是三分钟热度。


文章内容实现需要:PyCharm、Anaconda软件。(博主用的是PyCharm社区版2020.1.1,免费版本,Anaconda 2020.02版本,免费版),默认路径安装。

本文章包含:

相关py包的安装、pcd格式和las格式的点云读取与显示


1-安装pclpy、open3d、numpy、pptk包

安装pycharm、anaconda两个软件后,所有操作在pycharm软件中操作。

(1)首先在建立新的程序,选择conda构建虚拟环境,安装 python3.6 版本。

(2) 从file中打开setting,找到project中的插入选项。

(3)点击右侧的“+”号,分别搜索pclpy、numpy、open3d、pptk包

 

 

这里要注意,如果网速不好,就会安装失败。

全部安装好后,就没问题了,还要注意的是安装的pclpy包,包含了laspy,所以不需要重复安装laspy

2-点云加载与显示

读取pcd和las格式,然后显示。由于博主不会python代码,这些都是找了很多别的博主的参考的,以后博主会找时间慢慢学一点python语言的基础。

import numpy as np
import laspy
import pptk
import open3d as o3d

# open3d打开pcd格式点云
# 文件类型是自动识别的,支持 .xyz .xyzn .xyzrgb .pts .ply .pcd类型的文件
pcd = o3d.io.read_point_cloud("演示数据/2.pcd")
o3d.visualization.draw_geometries([pcd])

pcddata = np.asarray(pcd.points)
print(pcd.points)

# ----------------------------------------------------------------
# 使用laspy读取las格式的点云
data = laspy.read('演示数据/1027.las')
# 读取数据后使用np转置
pcloud = np.vstack((data.X, data.Y, data.Z)).transpose()
# 分别读取xyz
x,y,z = data.X,data.Y,data.Z
# pptk可以显示三维数组,无颜色显示,但是可以后面补充颜色显示
pptk.viewer(pcloud,z)

 3-点云显示结果

 pptk.viewer功能是有别于其他包的显示功能的,可以忽略数据格式,显示三维数组,并按照对应的数值显示颜色,很好用。

结果如下:

(1)使用open3d显示pcd格式的点云

(2)使用pptk.viewer显示 las数据读取的数组,并按照高程显示

那基本就是这样了,关于点云的保存,博主还没考虑到,之后查查资料应该会补充。

使用matlab处理点云可以通过变量去点开、查看点云的格式,因为matlab存在一个变量储存的区域,然而python是没有的,所以博主是觉得matlab更方便理解和处理点云的,当然,matlab在循环处理上面也存在缺点,因此python是个好选择,语言之间相互的联系、结合实现点云的处理,会更好。

关于matlab学习处理点云,可以点击博主主页查看。 

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值