- 博客(235)
- 资源 (6)
- 问答 (2)
- 收藏
- 关注
原创 CloudCompare 中的 KDTree详解
速度更快,因为它不需要返回最近点的具体索引。构建 KD 树后,点云数据被组织成。计算点到 KD 树单元格的平方距离。在 CloudCompare 进行。加速最近邻搜索,从而提高计算效率。✅ CloudCompare 通过。CloudCompare 中的。CloudCompare 通过。CloudCompare 使用。CloudCompare 进行。,仅判断是否存在某个点在。方面更高效,特别是在。主要由 KdCell。,便于加速最近邻搜索。
2025-05-02 20:32:15
423
原创 CloudCompare中CCCoreLib模块内容
在的代码结构中,CCCoreLib(CloudCompare Core Library)是,主要用于等底层算法实现。该模块提供了等核心功能,并且可以独立于 CloudCompare 主程序使用。CCCoreLib提供基础数学运算,包括等。
2025-05-01 18:31:49
437
原创 张正友相机标定算法(Zhang’s camera calibration method)原理和过程推导(附OpenCV代码示例)
张正友方法通过平面靶标图像(如棋盘格)的多个视角图像,提取角点特征,求解从平面到图像的单应性矩阵,再从中估计相机内参、外参及畸变参数。
2025-04-30 14:53:07
1059
原创 C++ 中自主内存管理 new/delete 与 malloc/free 完全详解
项目说明1new和delete要成对使用2new[]和delete[]要成对使用不是 delete!!!3不要混用malloc和delete,或new和free严重错误!4避免内存泄漏:申请的内存必须释放,否则内存泄漏5申请后立即检查返回值malloc返回 NULL,new可以捕捉异常6构造/析构问题malloc不负责对象构造,new是7自定义 new/delete:可以通过重载控制内存分配策略(如内存池优化)8异常安全:尽量使用智能指针(如)避免手动管理内存错误。
2025-04-29 22:34:07
441
原创 后验概率最大化(MAP)估计算法原理以及相具体的应用实例附C++代码示例
MAP估计 = 在最大似然上加上先验知识,让推断更加鲁棒。对象含义似然拟合观测数据的准确性先验防止参数过大(正则化)MAP估计似然 × 先验的最大化公式最小化误差项 + 正则项你希望拟合数据,同时又不希望参数太大(比如防止过拟合)。正则化参数λλ越大,先验越强,越倾向于把ab( a, b )ab拉向 0。
2025-04-29 17:14:01
1012
原创 C++中指针使用详解(3)数组、指针和函数参数传递的底层 ABI实现
函数如何调用(参数传递、返回值)栈帧布局(局部变量、返回地址、保存寄存器)调用约定(Calling Convention)数据的对齐方式(alignment)如何在内存中布局结构体、数组、类对象等例如:x86_64 系统通常使用。
2025-04-29 09:54:09
512
原创 Qt+PCL手把手教材(第5讲)——Qt 界面设计之Qt Widgets 与 Qt Quick(QML)的区别与选择(附Qt Widgets/Quick常规使用示例)
在中,和都是开发图形用户界面(GUI)的框架,但它们有不同的特点、适用场景和优缺点。理解它们之间的区别能够帮助你根据项目需求选择最适合的框架。是传统的 GUI 框架,它通过 C++ 编写和管理界面元素,适用于经典的桌面应用程序。它使用的是基于事件驱动的编程模型,利用传统的控件(如按钮、文本框等)来构建 UI。回调和信号槽机制。
2025-04-28 21:10:54
1459
原创 Python中数据切片操作详解和代码示例
在 Python 中,(slicing)是一个强大且常用的操作,尤其在列表、元组、字符串和其他序列类型(如rangenumpy数组等)中。切片允许你从序列中获取一个子集而不修改原始数据。
2025-04-27 15:33:40
398
原创 matplotlib画图工具使用(1) 画折线统计图python代码
plot(x, y)画线marker='o'在每个数据点加个小圈(好看!title()xlabel()ylabel()加标题grid(True)加网格线(统计图必备)
2025-04-26 21:45:45
248
原创 C++中const的应用(1)之const 形参和实参以及成员函数的 const 和重载
场景写法意义小对象传值不用const,没影响大对象传引用节省拷贝,安全修改指针指向内容可以改指向的内容保护指针指向内容不能改内容固定指针地址不能改指针本身区别解释返回非常量引用,可以赋值修改返回常量引用,只能读,不能改只有写了const版本,才能让const对象正常调用函数!特性说明const 成员函数声明时在函数末尾加const重载 const 和非const常见于operator[]at()const对象 只能调用 const成员函数所以经常要写两版。
2025-04-26 21:42:21
1046
原创 AI图像分割总汇
AI 图像分割模型是计算机视觉中的核心研究方向之一,广泛用于自动驾驶、医学影像、遥感图像分析等领域。下面是对图像分割模型的一些,按与进行系统整理。
2025-04-25 14:17:17
653
原创 C++中指针Ptr(一级指针、二级指针)的基本使用详解(1)
一级指针是指向变量的地址的指针。int a = 10;// p 是一个一级指针,指向变量 a二级指针是指向一级指针的指针。int a = 10;// pp 是二级指针,指向 p类型描述主要用法一级指针指向普通变量的地址传值修改、数组遍历、内存动态分配二级指针指向一级指针的地址指针重定向、二维数组、传引用修改指针数组连续内存块,数组名是首元素地址数据集合存储,和指针语法可互换使用。
2025-04-25 11:12:48
334
原创 Qt+PCL手把手教材(第4讲)——Win11环境(VTK9.1.0+Qt5.15.2)编译QVTK组件以及Linux上安装PCL库
在 Linux 上配置。
2025-04-24 22:43:27
1443
原创 点云配准算法之NDT算法原理详解
NDT(Normal Distributions Transform)最初用于2D激光雷达地图构建(Biber & Straßer, 2003),后扩展为3D点云配准。它将点云数据空间划分为网格单元(Voxel),在每个体素中拟合一个高斯分布,用此概率模型对点进行匹配优化。与 ICP 不同,NDT 是一个概率模型配准算法,具有更强的鲁棒性,适合处理稀疏/局部不一致的点云。对初始姿态误差鲁棒可导目标函数,利于快速优化支持稀疏点云、动态场景(配合滤波)
2025-04-24 11:29:52
812
原创 C++ 中 std::tuple 使用详解
是 C++11 引入的模板类,用于打包任意数量、任意类型的值在一起。可看作是类型安全的变长结构体。创建 tuple 的方法 会自动进行类型推导和转化。获取类型 & 大小修改元素值拆解 tuple(结构化绑定)C++17 提供结构化绑定:tuple 的比较、赋值高级技巧:递归访问 tuple遍历 tuple 中所有元素(使用模板递归)对每个元素执行函数(C++17 )根据类型访问 tuple 元素(要求类型唯一)与 结合解包、忽略元素tupl
2025-04-24 11:15:20
317
原创 C++ 中 std::thread 的高级应用
✅ 线程内部用控制退出比 bool 更安全✅ 类内线程要在析构时妥善停止并 join✅ 避免裸线程泄露:用类、封装、RAII 管理生命周期✅ 封装成线程池/任务队列是多线程项目的基础。
2025-04-23 23:16:02
417
原创 C++中std::vector使用超级详解
是 C++ STL 中最常用的动态数组容器支持随机访问内存是一块连续的空间自动扩容,支持添加和删除元素方法作用内存是否释放clear()清除所有元素❌ 不释放内存(capacity 保留)请求释放多余内存✅ 释放未使用容量(非强制)swap()与空 vector 交换,强制释放✅✅ 推荐方式简写版强制释放✅✅ 推荐方式目标推荐操作清除数据,但保留内存用于重用clear()清除数据 + 建议释放内存clear();清除数据 + 强制释放所有内存。
2025-04-23 11:05:52
839
原创 C++ 中 std::queue的使用详解
std::queue是 C++ 标准库中提供的一个**先进先出(FIFO)**的顺序容器适配器。入队(push):元素从尾部(back)插入;出队(pop):元素从头部(front)移除。std::queue是容器适配器(container adaptor),底层默认使用std::deque作为实现容器,但你也可以替换为std::list等。while (!
2025-04-23 09:55:58
876
原创 AI在 SLAM方向的应用综述
AI 技术正深刻改变 SLAM 系统的架构与能力。从传统几何方法到学习驱动模型,AI 推动 SLAM 向更智能、鲁棒、语义化的方向发展。未来的 SLAM 系统将更多地融合 AI 与物理世界知识,走向真实世界中的可靠部署。
2025-04-22 13:49:13
755
原创 RANSAC算法原理以及附C++代码拟合2D直线
Inliers:服从假设模型的数据点Outliers:不服从该模型的噪声点模型:我们要拟合的函数(如线、平面、变换矩阵)项内容优点鲁棒性强、可估计各种模型、易于实现缺点随机性大、结果不稳定、耗时、依赖参数扩展PROSAC、MLESAC、LO-RANSAC、GC-RANSAC(图优化)
2025-04-22 11:05:28
691
原创 C++ 中函数参数传递(值传递、指针传递、引用传递和const 引用传递)等内容详解
用途推荐方式小型类型(int, double)值传递只读大型对象(std::vector 等)const 引用传递可修改对象引用或指针传递(引用更安全)条件修改或可能为 null指针传递移动资源所有权右值引用(+std::move。
2025-04-22 10:24:40
349
原创 C++中的算术转换、其他隐式类型转换和显示转换详解
转换类型触发方式安全性用途/说明算术转换自动安全数值运算中的标准提升隐式转换自动通常安全函数调用/指针/基本类型提升显式安全编译期可检查的转换,如 int→float,向上转型显式安全多态类型的运行时向下转型const_cast显式有风险去除 const/volatile显式不安全位级别转换,极端情况用C风格强制转换显式不推荐混合多个C++转换,缺乏类型安全shape.h。
2025-04-21 21:19:52
873
原创 C++中的未定义详解
未定义行为是由 C++ 标准规定的,是指程序中的某些代码没有定义明确行为的执行结果。发生 UB 后,编译器有权做任何优化,甚至生成无法预测的机器码。标准里常说:“if the program exhibits undefined behavior, anything can happen.”数组越界访问// 未定义行为:越界访问虽然有时不会崩,但标准不保证结果。int i = 0;// 不可预测未定义行为是 C++ 的“地雷”,虽然允许编译器优化,但容易让程序出现难以调试的 bug。
2025-04-21 10:49:01
383
原创 C++中的左值引用和右值引用详解
在 C++ 中,(lvalue reference)和(rvalue reference)是理解现代 C++ 语义的核心。它们决定了函数重载、移动语义、完美转发等特性如何工作。下面将分块来讲。
2025-04-21 09:51:36
455
原创 Mesh模型孔洞修补算法总汇
孔洞(Hole):指 Mesh 拓扑中出现边界非闭合区域,通常表现为缺失面片,形成边界环(Boundary Loop)。如下图效果。
2025-04-19 11:03:34
1045
原创 C++中chrono计时器的简单使用示例
在 C++ 中进行计时(benchmark、函数运行时间、程序耗时分析)非常常见,推荐使用<chrono>,它简洁、跨平台、类型安全。
2025-04-19 10:09:19
299
原创 高效稳健的几何模型估计算法-Graph-Cut RANSAC(GC-RANSAC)
设点xi( x_i )xi到模型θ( \theta )θ的残差为dxiθdxiθ))Dili0ifli1anddxiθϵ1ifli1anddxiθ≥ϵ0ifli0anddxiθ≥ϵλ′ifli0anddxiθϵD_i(l_i) =Dili⎩⎨⎧010λ′ifli1anddxiθϵifli。
2025-04-18 10:01:12
567
原创 Qt+PCL手把手教材(第3讲)——开发环境配置在 Windows /Linux上配置 Qt + PCL
在 Windows 上配置和。根据你选择的编译器,配置的方式略有不同。下面将分别介绍如何在和编译器下配置和开发环境。
2025-04-17 22:44:29
957
原创 全蚁算法(Ant Colony Optimization,ACO)原理和C++实现
全蚁算法(Ant Colony Optimization,ACO)是一种模拟蚂蚁觅食行为的优化算法,属于群体智能算法。其灵感来源于蚂蚁在寻找食物的过程中,会通过释放信息素(pheromone)来相互传递信息,从而优化路径选择。全蚁算法通常用于解决最优化问题,特别是组合优化问题,如旅行商问题(TSP)、最大独立集、调度问题等。
2025-04-17 10:15:27
870
原创 C++中类拷贝、赋值与销毁详解
在 C++ 中,类的拷贝、赋值与销毁是涉及对象生命周期管理的重要概念。理解这些概念对于正确使用 C++ 至关重要,尤其是在处理动态内存分配或资源管理时。下面我会详细讲解这三个操作,并结合相关的例子进行说明。
2025-04-16 21:20:45
297
原创 C++中类的静态成员详解
在 C++ 中,类的静态成员是指与类本身而非与类的实例相关联的成员。静态成员属于整个类,而不是某个具体的对象。因此,静态成员在所有对象间是共享的,并且它们可以在没有创建类实例的情况下访问。静态成员通常用于存储所有对象共享的状态或计数等信息。静态成员变量是类的静态成员,属于类本身,而不是某个实例。它们在所有类的实例之间共享,所有实例访问相同的数据。静态变量必须在类外部定义和初始化。定义静态成员变量的语法:2. 静态成员函数静态成员函数只能访问静态成员变量或其他静态成员函数。静态成员函数不依赖于类的任何实例
2025-04-16 21:15:01
401
原创 模拟退火算法(Simulated Annealing,SA)原理和简版C++实现
模拟退火是一种强大的全局优化算法,适用于许多复杂的优化问题,特别是在无法保证解析解的情况下。通过适当的参数调整,可以使得该算法在各种实际问题中表现出色。
2025-04-16 09:46:27
1158
原创 C++中sizeof的使用和注意事项
sizeof是 C++ 中的一个,用于返回一个对象或类型所占的。它非常常用,尤其在处理底层数据结构、内存对齐、数组、结构体和类型推导等场景。
2025-04-15 15:45:48
497
原创 C++中的位运算符和八叉树(Octree)中的应用
位运算在 C++ 中是高效的,它不仅用于快速操作整数的二进制位,还能帮助我们解决诸如八叉树构建、图像处理、碰撞检测等领域中的性能瓶颈。在八叉树构建中,利用位运算来决定子节点,可以高效地管理三维空间的分割和节点访问。
2025-04-15 10:56:21
661
Qt Widgets 使用例子,覆盖常见控件和用法,适合刚入门 Qt 的开发者参考
2025-04-28
Cmake软件3.15和3.22版本
2025-04-20
Qt+PCL自编译PCL点云库,编译VTK(9.1.0)+Qt(5.15.2),可以将PCL库中的 pcl::visualization::PCLVisualizer用于在Qt中实现点云数据的可视化
2025-04-19
图像/点云非刚性检测和配准-非刚性检测,非刚性增强现实,实时可变形配准
2025-03-26
SLAM技术详解及其项目应用场景与优化方案
2024-10-31
Opencl入门学习例子
2020-12-04
opencv-3.1.0+opencv_contrib-3.1.0+ippicv_windows_20151201
2018-05-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人