- 博客(288)
- 资源 (6)
- 问答 (2)
- 收藏
- 关注
原创 Qt+PCL手把手教材(第10讲)——点云的基本操作(旋转、缩放、平移)附C++代码
旋转矩阵R∈R3×3R∈R3×3是一个正交矩阵R⊤RIdetR1R⊤RIdetR1它表示绕原点的三维旋转,保持向量长度不变,常用于刚体姿态表示。平移是将一个点沿某方向移动,使用一个三维向量t∈R3t∈R3表示。例如:将点p\mathbf{p}p平移为p′p′p′ptp′pt。
2025-05-23 23:19:04
408
原创 PyTorch中多项分布中随机采样(multinomial)和张量范数(norm)函数使用详解
参数说明input输入张量(Tensor)p范数类型,常见如'fro'、1、2、float(‘inf’) 等dim指定在哪个维度上计算范数(可为 int 或 tuple)keepdim是否保留计算后的维度(True/False)dtype设置返回的精度,如out可选,输出结果张量(in-place 操作)用法示例含义L2 范数每行 L1 范数向量最大值(∞ 范数)L2 范数 + 保留维度。
2025-05-23 10:50:15
507
原创 Qt+PCL手把手教材(第9讲)——PCL点云库支持的点云格式(PCD、PLY、OBJ)以及读取详解
PCL(Point Cloud Library)是一个广泛使用的开源库,用于处理 3D 点云数据。它支持多种点云格式的读写,包括 PCD、PLY 和 OBJ 格式等。每种格式都有其特点和应用场景。下面是对 PCL点云库 支持的常见点云格式的详细介绍。PCD(Point Cloud Data)是 PCL 自定义的专用格式,是 PCL 中最常用的点云文件格式。它设计上非常适合存储 3D 点云数据,支持多种数据类型,并可以根据需要扩展。这个示例表示一个包含 3 个点的点云,每个点有 X、Y、Z 坐标和 RGB
2025-05-22 22:10:52
1094
原创 PyTorch中diag_embed和transpose函数使用详解
是 PyTorch 中用于将一个向量(或批量向量)**嵌入为对角矩阵(或批量对角矩阵)**的函数。它常用于图神经网络(GNN)或线性代数中生成对角矩阵。
2025-05-22 15:01:20
323
原创 C++中std::array应用详解
是定长、栈分配、安全封装的数组类型;是原生数组的现代替代品,适合性能敏感且长度固定的应用场景;使用 STL 算法、迭代器、at()安全访问等方式更加方便和安全;不能替代用于动态扩容场景。
2025-05-22 10:13:55
397
原创 SLAM文献之-SuperOdometry: Lightweight LiDAR-inertial Odometry and Mapping
IMU 作为主导惯导轨迹提供器(IMU-centric),在结构退化或视觉遮挡时仍可提供高频、稳定的运动估计;LiDAR 和视觉信息作为约束项,增强轨迹精度;通过多度量 ICP(Multi-metric ICP)与动态八叉树(Dynamic Octree)提高匹配质量与实时性;利用质量权重(Quality Weighting)机制来判定不可靠匹配并降低其优化影响;最终构造统一的优化框架,融合 IMU 先验、LiDAR ICP、视觉重投影误差进行非线性优化。模块创新点作用。
2025-05-21 22:12:59
884
原创 PyTorch中cdist和sum函数使用详解
是 PyTorch 中用于计算**两个张量之间的成对距离(pairwise distance)**的函数,常用于点云处理、图神经网络、相似性度量等场景。
2025-05-21 14:13:18
655
原创 SLAM文献之-NICE-SLAM: Neural Implicit Scalable Encoding for SLAM
TSDFgtxsignDu−∥x−o∥⋅min∣Du−∥x−o∥∣τ1.0TSDFgtxsignDu−∥x−o∥⋅minτ∣Du−∥x−o∥∣1.0τ\tauτ:截断距离;xxx:投影自像素uuu;DuD(u)Du:深度图中真实值。SDFxfθxzxSDFxfθxzx))模块公式说明SDF 渲染t∗tiSDFxi。
2025-05-21 09:39:04
901
原创 RGB-D数据集汇总(2025年05月更新....)
以下是一些主流、常用于学术研究和工业应用的,适合用于 SLAM、3D 重建、场景理解、目标识别等任务。
2025-05-20 16:38:52
472
原创 Python 中 pass 语句的详解和使用
pass用法场景是否适合用pass函数还未实现✅类定义未完成✅if/else 留空✅占位/不做任何处理✅想跳出循环或跳过❌(用 break / continue)
2025-05-20 13:45:24
221
原创 C++中类的静态(static member functions)成员知识详解
下面将从等角度,逐一详解 C++ 类中静态成员的用法与注意事项,并配以示例。
2025-05-20 09:20:28
891
原创 Qt+PCL手把手教材(第8讲)——QVTKWidget/QVTKOpenGLNativeWidget 部件介绍和基础应用示例
(Visualization Toolkit)是一个用于 3D 图形、图像处理和科学可视化的开源软件库。它提供了大量的工具和算法来处理大规模数据集,并渲染 3D 可视化效果。
2025-05-19 20:02:19
1683
原创 C++中聚合类(Aggregate Class)知识详解和注意事项
标准聚合定义要素C++98无用户构造函数、无私有/受保护成员、无虚函数、无基类C++11同 C++98;允许成员带默认初始值C++17同 C++11;继承自struct基类仍可是聚合C++20放宽:允许有基类、允许有= default构造(若符合条件)
2025-05-19 19:59:22
800
原创 C++ 中的 traits 知识详解
如想提取一个类的嵌套类型(如容器的value_type结合decltype特性描述类型提取获取类型的子类型,如value_typeiterator类型判断判断类型属性,如is_pointer编译期分支控制类型萃取定义模板特化来提供编译期信息SFINAE 与重载选择类型 traits + enable_if 可精确控制函数模板匹配。
2025-05-19 10:30:36
391
原创 Python 中 if 和 else 基础知识的详解和使用
Python 使用缩进来标识代码块,错误的缩进会直接报错。从 Python 3.10 起,你还可以使用类似。
2025-05-18 21:39:19
476
原创 Python 中二维列表(list)(嵌套列表)详解
matrix = [[1, 2, 3],[4, 5, 6],[7, 8, 9]# 创建一个 3x4 的全零矩阵。
2025-05-18 21:29:47
262
原创 点到面(Point-to-Plane)点云配准中信息矩阵计算详解
对于源点psps和目标点ptpt及其单位法向量ntntrnt⊤Rpst−ptrnt⊤Rpst−ptR∈SO3R∈SO3为旋转矩阵t∈R3t∈R3为平移向量设最终优化变量为TR∣t∈SE3TR∣t∈SE3。
2025-05-17 19:01:49
964
原创 C++中隐式的类类型转换知识详解和注意事项
定义单参数或所有参数都有默认值的构造函数,编译器即可用它将该参数类型的值。关键字标记构造函数或转换函数,禁止隐式转换,只允许显式调用。:任何可用作单参数构造函数的,都会成为隐式转换点。转换函数可以定义多种目标类型,但要留意歧义。从 C++11 起,可用。
2025-05-17 14:10:46
514
原创 C++高级应用(1)-类型擦除(Type Erasure)和模板特化(Template Specialization)详解
特性类型擦除模板特化目的抽象接口,隐藏实现类型为特定类型提供自定义实现实现机制虚函数 + 模板组合template<>等灵活性高,运行时处理多种类型高,编译期选择不同实现成本有运行时开销(虚函数)无运行时开销,编译期展开使用场景插件式架构、多态容器、API封装数值类型优化、特例算法、高性能分支。
2025-05-17 10:01:03
320
原创 SLAM文献之-Multi-input Multi-scale Surfel-Based Lidar-Inertial Continuous-Time Odometry and Mapping
在高速运动和大视场环境下的鲁棒里程计与建图;高效建图:支持异步、多源数据输入;高精度对齐:使用 surfel-based 表示解决点云间非同步和尺度不一致问题。模块贡献多输入融合灵活应对多个异步 LiDAR/IMU 数据输入多尺度 surfel增强稀疏区域匹配精度,提升地图分辨率适应性连续时间轨迹优化消除非同步畸变,提升帧间注册精度高效优化模型将 surfel 匹配误差与 IMU预积分融合于一体。
2025-05-16 22:56:59
776
原创 Python中in和is关键字详解和使用
特性inis类型成员运算符身份运算符判断内容某元素是否存在于容器中两个变量是否指向同一个对象返回值类型TrueFalseTrueFalse应用场景序列判断、包含性检查None判断、引用对象判断。
2025-05-16 22:19:30
487
原创 C++中unsigned int和int类型详解和对比
类型含义数值范围(32位)int有符号整型无符号整型(只表示正数)int默认是有符号,等价于signed int。不包含负数,只有 0 和正整数。// 混合比较if (a < b)else// 溢出c = c - 1;// 安全循环i-- > 0;建议原因尽量统一使用int除非你明确需要无符号数混合使用容易导致比较错误和溢出问题避免int与混合运算C++ 会隐式转换为unsigned,导致 bug对循环、比较操作,手动加。
2025-05-16 09:15:52
367
原创 Qt+PCL手把手教材(第7讲)——Qt 中的 OpenGL 及 3D 渲染基础 (附绘制3D球体C++代码)
是一个跨平台的图形 API,用于渲染 2D 和 3D 图形,如下图。它被广泛应用于各种类型的图形应用程序中,如视频游戏、CAD 软件、虚拟现实应用等。OpenGL 提供了与硬件直接交互的接口,用于处理图形的渲染、变换和渲染优化。知识详解(2)和注意事项以及应用示例
定义方式:用[]包裹的有序可变集合特点支持任意类型混合支持索引、切片可变对象(mutable)支持重复元素可嵌套。
2025-05-14 22:13:48
389
原创 金字塔 Lucas-Kanade 光流法算法原理和C++代码实现
图像在很短时间内灰度保持不变(亮度恒常);相邻帧之间点的运动较小;某个像素邻域内的运动是一致的(即:局部一致性)。亮度一致性假设公式IxytIxuyvt1IxytIxuyvt1对该式在xyt(x, y, t)xytIxuIyvIt0IxuIyvIt0IxIyI_x, I_yIxIy:图像的一阶空间梯度;ItI_tIt:时间梯度;uvu, vuv。
2025-05-14 15:09:28
868
原创 Python中元组(Tuple)使用详解和注意事项
元组是不可变序列,常用于数据保护函数返回多值哈希结构键值等场景。语法简单但细节多(如逗号问题、嵌套可变对象)。如果数据需要频繁修改,用list;如果是只读或结构性固定,用tuple更合适。
2025-05-13 23:03:06
487
原创 C++中void*知识详解和注意事项
优点缺点通用性强、兼容 C 接口安全性差、容易出错简洁灵活类型信息丢失、无法自动类型推导在写 C++ 项目时不建议广泛使用void*,但在与底层 C 库、系统 API 交互时,它仍是不可或缺的手段。
2025-05-13 14:07:13
524
原创 Canny 边缘检测算法原理详解
噪声抑制(高斯平滑)计算梯度(使用 Sobel 或类似算子)非极大值抑制(NMS)双阈值检测边缘连接(滞后阈值)优点描述边缘细化保留边缘响应的精确位置,宽边变细边去除虚假边缘剔除非局部最大响应的像素,减少伪边缘为边缘连接打基础只有局部最强点才能触发连接传播。
2025-05-13 09:33:27
1372
原创 C++中类中const知识应用详解
下面将从**const成员**、const、const、mutable、constexpr等方面,逐一详解 C++ 类中常见的const用法及注意事项,并配合示例。
2025-05-12 21:11:03
778
1
原创 OpenCV中Canny、Sobel和Laplacian边界检测算法原理和使用示例
OpenCV 中提供了多种,常用于图像分割、特征提取、物体识别等任务。
2025-05-12 14:07:41
574
原创 C++中类的默认构造函数详解和示例
下面将从默认构造函数的定义与分类、何时编译器会自动生成、显式声明(/)、与其他特殊成员函数的关系、性能与可用性注意事项等方面进行详解,并配以示例代码。默认构造函数(default constructor)指的是不带任何参数(或所有参数都有默认值)的构造函数,用于创建对象时不传入显式初始值的场景。形式通常为:或者默认构造函数用于初始化成员:编译器会在没有用户声明任何构造函数时,为类自动生成一个隐式默认构造函数,其行为大致为“为每个直接基类和每个非静态数据成员都调用它们的默认构造”。但在以下情况下,编
2025-05-12 09:55:27
889
原创 C++中class和struct的区别和联系
本质相同struct和class都能定义类型、支持继承、多态、模板、友元等。默认权限不同struct成员和继承默认是public;class则默认private。编码习惯struct多用于“公开的数据结构”,class多用于“封装的对象”。
2025-05-10 10:08:50
859
原创 Qt+PCL手把手教材(第6讲)——使用 Qt Designer 设计 UI 界面基础操作附综合示例(C++完整代码)
Qt Designer 是一个图形化的工具,用于快速设计 Qt Widgets 应用的用户界面(UI)。可以通过拖放控件,轻松创建界面,并且不需要编写界面相关的代码。设计完毕后,Qt Designer 会生成 文件,可以通过 Qt 编译器将其转换为 C++ 代码并与业务逻辑代码集成。,下面我们就开始详细的学习吧!安装 Qt 和 Qt Creator:单独使用 Qt Designer:通过 Qt Creator 启动:独立启动:Qt Designer 提供了一个直观的界面,常见的元素包括:工具箱(Widge
2025-05-09 23:57:47
1372
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关注的人