作者: Lqj

17 篇文章

洞察三维世界:深度双目相机入门指南(补充篇:相机内参与外参的深度解析)
相机标定的关键是确定内参和外参两类参数。内参描述相机自身特性,包括焦距(影响成像大小)、主点(光心投影位置)和畸变系数(矫正透镜缺陷);内参矩阵将三维点投影到图像平面。外参描述相机在世界中的位置和姿态,由旋转矩阵(朝向)和平移向量(位置)组成。在双目系统中,右相机外参相对于左相机尤为重要,其平移分量构成深度计算的基线。通过外参将世界坐标转为相机坐标,再由内参投影到像素坐标,两者协同完成三维到二维的映射。精确标定这些参数是实现高精度深度计算的基础。
洞察三维世界:深度双目相机入门指南
摘要:深度双目相机通过双摄像头模拟人眼立体视觉,利用视差计算物体深度信息。其核心技术包括相机标定、立体校正、视差匹配算法和深度图后处理。相比其他深度测量技术,双目相机具有被动工作、成本较低等优势,但也面临纹理依赖、计算量大等挑战。目前广泛应用于机器人、自动驾驶、AR/VR等领域。随着AI技术和硬件的进步,双目相机正朝着智能算法、多传感器融合方向发展,将在未来智能世界中发挥更大作用。
告别复制的烦恼:深入理解 C++ 的左右值引用、std::move 和 std::forward
本文深入解析C++11引入的右值引用及其相关概念。首先区分左值(持久对象)和右值(临时值),介绍右值引用(&&)的语法和用途。重点讲解移动语义的实现原理,通过MyString类示例展示移动构造/赋值如何避免深拷贝。随后剖析std::move的本质——将左值强制转换为右值引用以启用移动语义。最后探讨完美转发机制,包括引用折叠规则、万能引用概念,以及std::forward如何保持参数原始值类别(左值/右值)进行转发。通过代码示例对比,清晰展示这些核心概念在实际编程中的应用场景和优势。
告别手动管理内存:C++智能指针完全指南
这篇博客全面介绍了C++智能指针,旨在解决手动内存管理带来的内存泄漏、悬空指针等问题。文章详细阐述了三种核心智能指针:std::unique_ptr(独占所有权,轻量级且不可复制但可移动)、std::shared_ptr(通过引用计数实现共享所有权)、以及std::weak_ptr(非拥有型指针,用于配合shared_ptr打破循环引用)。博客强调了使用std::make_unique和std::make_shared进行安全创建,并提供了选择合适智能指针的指南和最佳实践。