- 博客(131)
- 收藏
- 关注
原创 Open3D 对点云进行去噪(下采样、欧式聚类分割)02
使用Open3D针对不同点云场景类型(地面、建筑、植被、LiDAR)的智能去噪方法,通过自动调节下采样和DBSCAN聚类参数实现通用去噪效果。该方法主要包含以下特点:1)自动检测点云单位(毫米或米)并进行统一缩放处理;2)针对四种典型场景预设不同的参数组合(包括下采样粒度、邻域半径等);3)保留原始点云颜色信息;4)提供可视化对比功能展示去噪效果。实验结果表明,该方法能根据不同场景特性自动优化参数,有效去除噪声点,同时保留关键几何特征。
2025-06-09 15:11:28
585
原创 Open3D 对点云进行去噪(下采样、欧式聚类分割)01
Open3D提供两种点云去噪方法:1)体素下采样(Voxel Downsample)降低点云密度并初步去噪;2)DBSCAN欧式聚类分割识别并移除孤立噪声簇。通过组合使用这两个方法,可有效去除噪声并保留主要结构。具体流程包括体素降采样、DBSCAN聚类和基于簇大小的噪声过滤。文中还给出了封装好的完整函数,可直接调用实现点云去噪处理
2025-06-09 14:39:32
234
原创 Open3D 对点云进行去噪(统计滤波、半径滤波)
本文介绍了Open3D中两种点云去噪方法:统计滤波和半径滤波。统计滤波通过邻域点距离分布识别孤立点,适用于随机噪声;半径滤波则基于指定半径内的邻居数量去噪,适合结构化点云。文章详细说明了两种方法的参数设置和适用场景,并提供了完整的Python实现代码,包括可视化对比功能。最后给出了实际应用建议,如结合下采样处理密度不均的点云。代码示例可直接用于点云处理项目,帮助开发者快速实现去噪功能。
2025-06-09 14:31:17
222
原创 Open3D点云可视化
Open3D是一个高效的3D数据处理开源库,支持点云和网格处理。它提供点云读写、滤波、可视化等功能,支持PLY、PCD等格式。通过示例代码展示了基础点云可视化方法,以及进阶处理技巧,包括深度范围筛选、镜像调整、背景和点大小设置。优化后的可视化效果更清晰,能有效去除无效远点并改善显示效果。
2025-06-09 11:47:52
233
原创 VSCode 工作区配置文件通用模板创建脚本
下面是分别使用 Python 和 Shell(Bash)脚本自动生成 .vscode 文件夹及其三个核心配置文件(settings.json、tasks.json、launch.json)的完整示例。
2025-06-04 16:59:29
669
原创 VSCode 工作区配置文件通用模板(CMake + Ninja + MinGW/GCC 编译器 的 C++ 或 Qt 项目)
VSCode 工作区配置文件通用模板(CMake + Ninja + MinGW/GCC 编译器 的 C++ 或 Qt 项目)
2025-06-04 16:54:49
533
原创 在 Windows 系统下配置 VSCode + CMake + Ninja 进行 C++ 或 Qt 开发
在 Windows 系统下配置 VSCode + CMake + Ninja 进行 C++ 或 Qt 开发,是一个轻量级但功能强大的开发环境。下面我将分步骤详细说明如何搭建这个开发环境,支持纯 C++ 和 Qt 项目。
2025-06-04 15:30:21
1136
原创 MingW-W64-builds不同版本之间的区别
MinGW-W64-builds 提供了多个版本的编译器和相关工具,以适应不同的开发需求。以下是不同版本之间的一些关键区别
2025-06-04 15:09:58
689
原创 UCRT 和 MSVC 的区别(Windows 平台上 C/C++ 开发相关)
UCRT 和 MSVC 是与 Windows 平台上 C/C++ 开发相关的两个重要概念,它们都属于 Microsoft 的开发工具链的一部分。下面详细解释它们的含义、区别以及用途。
2025-06-04 15:06:50
698
原创 CMake + Ninja 构建程序示例
Ninja是一种专注于速度的小型构建系统,特别适合用于大型项目的增量编译。它最初由 Google 的工程师为加速 Chromium 浏览器的构建过程而开发,并逐渐成为一种广泛使用的替代构建工具,尤其是在配合 CMake 等高级构建配置工具时。
2025-06-04 11:13:41
859
原创 目标检测任务的评估指标P-R曲线
P-R曲线(Precision-Recall Curve) 是目标检测、图像分类等任务中常用的评估模型性能的工具之一。它通过展示 精确率(Precision) 和 召回率(Recall) 之间的关系来帮助我们理解模型的表现。
2025-06-04 10:49:46
1841
原创 目标检测任务的评估指标mAP50和mAP50-95
mAP50 和 mAP50-95 是目标检测任务中常用的评估指标,用于衡量模型在不同 交并比(IoU)阈值 下的平均精度(Average Precision, AP)。它们的区别主要体现在 IoU 阈值范围 上。
2025-06-04 10:41:10
634
原创 C++智能指针介绍和区别(std::unique_ptr、std::shared_ptr 和 std::weak_ptr)
在 C++ 中,std::unique_ptr、std::shared_ptr 和 std::weak_ptr 是 智能指针(Smart Pointers),它们定义在 <memory> 头文件中,用于自动管理动态分配的内存资源,帮助开发者避免内存泄漏和手动 delete 指针带来的问题。
2025-05-30 10:46:24
343
原创 【Python】PDF文件处理(PyPDF2、borb、fitz)
Python提供了多种方法和库用于处理PDF文件,这些工具可以帮助开发者实现诸如读取、写入、合并、拆分以及压缩等功能。以下是几个常用的Python PDF操作库及其基本用法(PyPDF2、borb、fitz)。
2025-05-08 16:50:35
609
原创 C++使用PoDoFo库处理PDF文件
PoDoFo 是一个用 C++ 编写的自由开源库,专用于 读取、写入和操作 PDF 文件。它适用于需要程序化处理 PDF 文件的应用程序,比如批量生成、修改、合并、提取元数据、绘图等。
2025-05-08 15:56:58
1326
原创 【Python】mat npy npz 文件格式
MAT 文件和 NP(.npy 或 .npz)文件是两种不同的格式,用于存储数组数据。它们分别由 MATLAB 和 NumPy 开发,主要用于各自环境中的数据存储和交换。选择哪种格式取决于你的具体需求。如果你的工作流程主要围绕 MATLAB 进行,那么 MAT 文件可能是更合适的选择。然而,如果你主要使用 Python 和 NumPy 来进行数据分析或机器学习任务,那么 NPY 或 NPZ 文件将是更好的选择。此外,如果你希望跨平台共享数据并且保持良好的性能,NPY/NPZ 文件也提供了非常有效的解决方案。
2025-05-08 11:53:43
825
原创 【LunarVim】CMake LSP配置
在 LunarVim 中为 `CMakeLists.txt` 文件启用代码提示(如补全和语义高亮),你需要安装支持 CMake 的 LSP(语言服务器)和适当的插件。以下是完整配置指南:
2025-05-08 09:37:55
560
转载 MCP(Model Context Protocol 模型上下文协议)
[转载自GuangzhengLi](https://guangzhengli.com/blog/zh/model-context-protocol)MCP(Model Context Protocol 模型上下文协议)
2025-04-28 15:02:02
69
原创 【Python】pkl、npz、parquet文件格式
`.pkl`、`.npz` 和 `.parquet` 是python三种常见的文件格式,分别用于不同的数据存储和序列化场景。
2025-04-28 12:04:00
917
原创 【LunarVim】python DAP配置
🚀 一键调试训练代码 + 自动用终端窗口输出 + 适配 tqdm/matplotlib + 哪怕 `input()` 也不会挂!
2025-04-11 10:16:03
343
原创 【LunarVim】解决which-key 自定义键位注册不成功问题
which-key 自定义键位注册不成功问题,暴露了LunarVim 插件和配置加载顺序的一些细节坑。
2025-04-10 18:06:33
575
原创 【LunarVim】python 开发环境IDE配置
用于配置 LunarVim(一个基于 Neovim 的现代化 IDE 风格编辑器)的 Lua 脚本,主要用于增强 Python 开发体验。
2025-04-10 12:29:02
621
原创 Python 使用 Cython 对函数加速并调用 C++ 代码
使用c++写好的库,用python调用,速度怎么样?C++ 库与 Python 结合使用的常见的方式Cython是一个强大的工具,可以将 Python 代码编译为 C 或 C++ 扩展模块,从而显著提高性能。下面是Cython的使用示例。
2025-04-02 15:31:08
732
原创 C++ 库与 Python 结合使用的常见的方式
在 Python 中调用使用 C++ 编写的库通常可以显著提高性能,尤其是在涉及计算密集型任务时。这是因为 C++ 是一种编译型语言,执行速度比解释型的 Python 快得多。
2025-04-02 14:51:44
532
原创 【Linux】mv误操作:mv /* /path/
Linux使用mv移动文件,进行了失误操作,将根目录的文件移动到了某一个文件夹中,导致mv等命令用不了(-bash: /usr/bin/mv: 没有那个文件或目录)
2025-03-12 16:13:31
314
原创 ONNX Runtime 与 CUDA、cuDNN 的版本对应
ONNX Runtime 与 CUDA、cuDNN 的版本对应关系是深度学习模型部署中的关键点,确保版本兼容性可以避免运行时错误并优化性能。以下是详细的版本对应关系及注意事项:
2025-02-19 16:57:47
2044
原创 SAM C++ TensorRT(实时图像分割)
用于SAM(segment anything model分割一切模型)的TensorRT和CUDA优化的高表现C++实现,特别适用于实时图像分割任务。
2025-02-19 15:26:17
556
原创 BiRefNet C++ TensorRT (二分类图像分割)
用`TensorRT`和`CUDA`的双边参考网络(`BiRefNet`)的高性能`c++`实现,针对实时高分辨率二分类图像分割进行了优化。
2025-02-18 16:09:05
929
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人