
点云处理
文章平均质量分 64
微凉的衣柜
人工智能专业博士,专注前沿AI技术,分享优质代码资源、科技新闻与行业趋势。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
激光雷达点云畸变消除:MCU vs CPU 方案详解
在移动机器人、自动驾驶等场景中,激光雷达(LiDAR)用于获取高精度的空间点云数据。然而,当雷达在运动中扫描时,不同点的采集时刻对应的位置不同,就会出现“**运动畸变(Motion Distortion)**”,影响建图、定位等后续处理精度。本文深入分析两种主流的畸变去除方案 —— 基于 **MCU** 和 **CPU** 的架构差异、同步方式、各自优劣,帮助你在项目中做出合适的系统设计决策。原创 2025-05-12 19:38:57 · 994 阅读 · 0 评论 -
VICP(Velocity-based ICP):通过运动校准实现精准姿态估计
在三维点云配准的领域,经典的ICP(Iterative Closest Point)算法已经成为广泛使用的方法,尤其是在处理静态环境中的点云配准时,效果非常好。然而,随着动态场景的出现,物体运动和传感器的变动引发的点云畸变,常常使得传统的ICP方法面临挑战。为了应对这些动态环境的需求,**VICP(Velocity-based ICP)**应运而生,它在传统ICP的基础上引入了**速度信息**,帮助我们更好地处理动态物体带来的点云畸变。原创 2025-04-22 19:36:44 · 740 阅读 · 0 评论 -
新版点云批处理脚本:使用 Open3D 批量渲染并导出固定视角点云截图
在之前的文章[使用 Open3D 批量渲染并导出固定视角点云截图](https://tangyipeng.blog.youkuaiyun.com/article/details/145860886?spm=1011.2415.3001.5331),发现可能会有截图保存错位的现象。即如果遍历整个文件夹保存视图,下一帧保存的点云视角截图可能是上一帧的,为了优化这个问题,本文优化新版本代码。当然可以!以下是**新版代码放在最前面**的 优快云 博客整理版本,更贴近实际读者「先用后解」的阅读习惯。原创 2025-03-26 10:59:52 · 953 阅读 · 0 评论 -
使用 Open3D 批量渲染并导出固定视角点云截图
在三维点云处理与可视化中,固定视角批量生成点云渲染截图是一个常见的需求。例如,想要将同一系列的点云(PCD 文件)在同样的视角下生成序列图片,以便后续合成为视频或进行其他可视化演示。本文将介绍如何使用 Python + Open3D 实现批量加载 PCD 文件、设置统一的相机视角,并导出渲染截图。原创 2025-02-25 19:40:39 · 1278 阅读 · 0 评论 -
利用 Open3D 保存并载入相机视角的简单示例
在使用 Open3D 进行三维可视化和点云处理时,有时需要将当前的视角(Camera Viewpoint)保存下来,以便下次再次打开时能够还原到同样的视角。本文将演示如何在最新的 Open3D GUI 界面(`o3d.visualization.gui` / `o3d.visualization.O3DVisualizer`)中实现这一功能,并展示完整示例代码及运行效果。原创 2025-02-25 19:30:40 · 1022 阅读 · 0 评论 -
高效转换结构化数组为普通NumPy数组:三种方法性能对比与实战
在数据处理中,结构化数组(Structured Array)是我们经常遇到的结构,尤其是在处理点云数据、表格数据或二进制文件时。结构化数组可以看作是一个拥有多个字段的“复合数据类型”,每个字段的数据类型可以不同,类似于数据库中的列。但是,在进行矩阵运算时,我们常常需要将其转换为普通的二维NumPy数组。传统的逐行遍历方法(例如列表推导)效率极低,因此我们需要寻找高效的解决方案。本文将介绍三种高效转换结构化数组为普通NumPy数组的方法,并进行性能对比,帮助大家快速选择最适合自己的转换方式。原创 2025-02-08 15:43:28 · 957 阅读 · 0 评论 -
CloudCompare视图透视问题与裁剪平面设置详解
在使用 **CloudCompare** 处理点云数据时,很多用户会遇到一个常见问题:**当放大或缩小视图时,物体会突然消失**。这个现象其实是由于 **裁剪平面(clipping plane)** 的设置引起的。本文将详细分析问题的成因,并提供解决方案。原创 2025-01-14 18:08:06 · 1956 阅读 · 0 评论 -
FPS最远点采样法python源码注释及释疑
最远点采样能够确保采样得到的点是距离已经选择出来来最远的点,确保采样均匀。直接上代码,代码来自pointnet++源码:def farthest_point_sample(xyz, npoint): """ Input: xyz: pointcloud data, [B, N, 3] npoint: number of samples Return: centroids: sampled pointcloud index, [B,原创 2021-03-06 17:03:14 · 2262 阅读 · 4 评论 -
基于pcl+qt的大规模点云动态显示的一些小心得
点云可视化,尤其大规模可视化真是个折磨人的事。自然也是酸甜苦辣各种交加。今日就最近踩坑做一个记录,给后来人一些参考。点云动态显示需要解决的问题是,将点云采集设备高速采集的点云实时显示在界面中。需要实现的效果如图所示,这片测试点云还比较小,有256000个点:图1之前我在最初调试点云动态显示时写过一篇文章,《两种方式实现pcl+qt下动态增加点云》。其中谈到了两种方法。其中方法2采用点云指针是比较轻松简便的,对于点云数目不多时比较推荐。然而对于大规模点云,每次都要把所有显示的点云重新刷新一遍,这样十分原创 2020-10-28 22:36:14 · 6011 阅读 · 25 评论 -
pcl动态显示高度渲染点云避坑
pcl动态显示高度渲染点云避坑在制作如下效果时:关键代码如下: connect(timer, &QTimer::timeout, [&] { //qDebug() << "321" <<j; if (j < n_f) { for (size_t i = 0; i < cloud1->points.size(); ++i) { cloud1->points[i].x = cloud2-原创 2020-10-14 16:18:40 · 1475 阅读 · 0 评论 -
两种方式实现pcl+qt下动态增加点云
两种方式实现pcl+qt下动态增加点云项目需要把点云动态递增显示,在采用pcl库的情况下,实现如下效果:实现这个效果是为了模拟动态增加,采用定时器的方式加入点云。这儿采用两种方法:方法一:采用vector,每次刷新不同的点云块PointCloudT:typedef pcl::PointXYZRGBA PointT;typedef pcl::PointCloud<PointT> PointCloudT;PointCloudT::Ptr cloud;PointCloudT::Ptr原创 2020-10-13 22:23:27 · 2373 阅读 · 5 评论 -
使用cloudcompare测量平面之间的距离
cloudcompare不平行平面距离测量原创 2022-06-14 19:30:44 · 3928 阅读 · 0 评论 -
采用Open3d绘制高度颜色点云图
有时在绘制点云图时需要用颜色来表征其高度。这个功能在成熟软件中比较常见,自己实现起来略显得繁琐,貌似Open3d绘图选项中没有这个功能(各位如若发现了告诉我),此处把实现代码公布一下,欢迎各位探讨交流。首先上绘制效果图:相关代码:import numpy as npimport open3d as o3dimport open3d.visualization.gui as guiimport open3d.visualization.rendering as renderingapp = g原创 2021-11-01 15:43:03 · 4438 阅读 · 0 评论 -
Pytorch Point 3d安装踩坑记录
Pytorch Point 3d 貌似是个不错的三维深度学习的库,但是安装的过程发现bug特别多,弄了很久才弄好,此处把一些踩坑记录给大家分享。首先进入官方github:https://github.com/nicolas-chaulet/torch-points3d ,按照其提供的命令:pip install torchpip install torch-points3dpytorch需要按照官方指定的版本安装好,输入pip install torch-points3d往往会报各种错误(如果没有原创 2021-08-24 19:48:46 · 2609 阅读 · 1 评论 -
使用Open3d绘图在点云中添加文字标签
首先要确保Open3d升级到版本0.13.0以上。可以用以下代码查看一下Open3d的版本:import open3dopen3d.__version__如果版本较低,采用以下命令升级Open3d:pip install --upgrade open3d显示文字标签的效果为:直接上代码,代码含义很简单:import numpy as npimport open3d as o3dimport open3d.visualization.gui as guiimport open3d.v原创 2021-08-10 22:55:32 · 5661 阅读 · 11 评论 -
Open3d Python实现点云的显示与交互式点选
Open3d的中文资料相对不是很丰富,网上有些代码还有小bug。今天我这儿搬运一下,提供点云显示和交互式点选的代码。以下代码采用open3d 0.12.0 应该可以直接运行。如果有bug欢迎提出。1.点云显示代码引自:https://zhuanlan.zhihu.com/p/57215172import numpy as npimport open3d as o3dpoints = np.random.rand(10000, 3)point_cloud = o3d.geometry.Poin原创 2021-04-29 17:10:38 · 6973 阅读 · 0 评论