Python点云基础入门指引(附代码示例)

一、什么是点云

点云是通过对三维空间里物体表面或者场景信息进行采集而得到的一组点的集合。这类点通常由激光扫描设备(例如激光雷达,LiDAR)或者立体视觉系统获取。每个点都具有三个坐标值(x、y、z),这三个坐标明确了该点在三维空间中的位置。

点云数据常用于计算机图形学、计算机视觉、机器人导航、建筑建模、地理信息系统(GIS)等领域。它能够协助我们重构物体的形状、分析场景的结构、测量距离等。

点云的特点:

  1. 无结构化 :点云数据由大量相互独立的点构成,每个点一般仅有坐标信息,不存在连接或者网格相关信息。

  2. 高精度性 :借助精准的测量设备(像激光雷达)获取点云数据,能够捕捉到物体表面的精细信息。

  3. 大数据量 :点云通常包含成千上万个甚至百万级别的点,所以需要较大的存储空间以及计算能力来进行处理。

点云的应用情形:

  • 三维建模 :利用点云数据生成三维模型。

  • 物体识别与追踪 :在自动驾驶领域,通过点云数据识别并追踪周围物体。

  • 机器人导航 :机器人利用点云数据开展环境感知与路径规划。

  • 建筑设计与测量 :建筑行业利用点云数据进行精确的测量和建模。

  • 地理信息系统(GIS) :在地图绘制以及地形分析中运用点云数据。

点云数据一般能够以多种格式存储和交换,例如 .ply.pcd.las.xyz 等。

二、如何获取点云

对于初学者而言,理解点云的概念可能较为抽象。实际上,可以通过3D相机对物体进行扫描来获取点云数据。若没有3D相机,也能够自行构建三维模型,然后利用Python代码将这些模型转换为点云文件,从而为后续的点云处理和学习提供素材。

为了便于大家理解点云的生成过程,接下来一起学习如何从零开始构建一个三维模型,并使用 Python 将其转换为点云。

1、打开freecad创建模型并导出为ply文件

若还未安装freecad,可参考相应指南。

FreeCAD 下载与安装指南
Windows

FreeCAD 创建模型导出为
ply

2、使用python代码转换为点云文件

freecad导出的.ply文件是网格文件,我们需要将其转换为点云文件。

打开pycharm新建一个python文件,输入以下代码并运行,便可得到一个包含100000个点的点云文件1.ply

import open3d as o3d

# 加载freecad导出的点云文件
mesh = o3d.io.read_triangle_mesh("Body.ply")   # 替换为你的文件路径

# 检查是否成功加载
if not mesh.has_vertices():
    print("无法加载模型或模型没有顶点数据")

# 写入为 PLY 文件
pcd = mesh.sample_points_uniformly(number_of_points=100000)    # 保存为100000个点的点云
coord = o3d.geometry.TriangleMesh.create_coordinate_frame(size=40, origin=[0, 0, 0])

o3d.io.write_point_cloud("1.ply", pcd)   # 保存点云
o3d.visualization.draw_geometries([mesh])
o3d.visualization.draw_geometries([pcd])   # 可视化点云

若还未安装open3d,可在cmd中输入以下命令进行安装

pip install open3d

freecad 导出的 Body.ply文件:

Python点云基础入门指引(附代码示例)

转换后的点云1.ply文件:

Python点云基础入门指引(附代码示例)

三、点云基础结构

  • 位置坐标 :每个点在三维空间中的位置,通常表示为 (x, y, z)

  • 属性 :点云中的每个点可能包含以下附加属性:

    • 颜色 :一般使用 RGB(红、绿、蓝)值表示,特别是在使用彩色激光雷达(LiDAR)或者相机捕获的点云中。

    • 强度 :代表激光反射的强度,在激光雷达中较为常见。

    • 法向量 :用于描述点表面的方向,在计算表面重建时常用。

    • 反射率 :激光反射的强度,在遥感中用于地形和物体识别。

1、点云的坐标

点云中的每个点都包含三维坐标 (x, y, z),用以表示其在空间中的位置。下面的代码将演示如何读取点云文件,并输出其中前十个点的坐标。

import open3d as o3d
import numpy as np

# 读取点云文件
pcd = o3d.io.read_point_cloud("1.ply")      # 替换为你的点云文件路径

print(f"前十个点的坐标:\n{np.asarray(pcd.points)[:10, :]}")

运行结果:

Python点云基础入门指引(附代码示例)

文章整理自互联网,只做测试使用。发布者:Lomu,转转请注明出处:https://www.it1024doc.com/12957.html

(0)
LomuLomu
上一篇 13小时前
下一篇 11小时前

相关推荐

  • 详解:促销系统整体规划

    大家好,我是汤师爷~ 今天聊聊促销系统整体规划。 各类促销活动的系统流程,可以抽象为3大阶段: B端促销活动管理:商家运营人员在后台系统中配置和管理促销活动,包括设定活动基本信息、使用规则、选择适用商品等核心功能。 C端促销活动参与:消费者在前台系统中浏览和参与促销活动,并在下单时获得相应的价格优惠或其他权益。 促销效果分析:通过促销活动的数据采集和分析功能…

    2025 年 1 月 12 日
    26000
  • Python深度学习(第2版)PDF免费下载

    适读人群 :想要学习深度学习的学生、职业开发者。 流行深度学习框架Keras之父执笔,涵盖Transformer架构等进展,文字生,简单方式解释复杂概念,不用一个数学公式,利用直觉自然入门深度学习。 电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍 点击原文去下载 书籍信息 作者: [美] 弗朗索瓦·肖莱出版社: 人民邮电出版社出品方…

    2025 年 1 月 1 日
    36700
  • 🚀 2025年最新IDEA激活码分享:永久破解IDEA至2099年(附详细图文教程)

    💻 适用软件 本教程完美适用于JetBrains全家桶,包括但不限于:- IntelliJ IDEA- PyCharm- DataGrip- GoLand等所有JetBrains系列开发工具! 先给大家看看最新IDEA版本破解成功的实锤截图👇 有效期直达2099年,简直不要太爽! 📥 准备工作 下载IDEA安装包 还没安装的小伙伴,先去官网下载最新版:htt…

    2025 年 5 月 29 日
    2.1K00
  • 2024 IDEA最新激活码,IDEA永久免费激活码2025-01-21 更新

    IDEA 2024最新激活码 以下是最新的IDEA激活码,更新时间:2025-01-21 🔑 激活码使用说明 1️⃣ 复制下方激活码 2️⃣ 打开 IDEA 软件 3️⃣ 在菜单栏中选择 Help -> Register 4️⃣ 选择 Activation Code 5️⃣ 粘贴激活码,点击 Activate ⚠️ 必看!必看! 🔥 获取最新激活码: 实时更…

    2025 年 1 月 21 日
    37700
  • 🔥2025最新PyCharm永久激活码分享|亲测可用至2099年(附详细破解教程)

    还在为PyCharm的激活问题发愁吗?😫 本教程将手把手教你如何永久激活PyCharm至2099年!适用于所有Jetbrains全家桶软件(IDEA、PyCharm、DataGrip、Goland等),无论你是Windows、Mac还是Linux系统,统统都能搞定!💪 先来看看最新PyCharm版本破解成功的截图,有效期直接拉到2099年,简直不要太爽!🎉 …

    PyCharm激活码 2025 年 6 月 27 日
    94500

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信