随笔分类 -  编程与工具

摘要:mutable_points()返回的是double*类型,调试器只知道这是一个内存地址,不知道它指向的数组长度是多少。通过Eigen::Map指定长度为 3,调试器就知道要读取 3 个连续的 double 值,并以 3 维向量的形式展示,这样就直观了。 在调试器的对表达式求值窗口(Clion里右侧 阅读全文
posted @ 2026-02-06 16:50 阳光天气 阅读(3) 评论(0) 推荐(0)
摘要:meshlab只显示绿色的摄像机点,不显示正常3D点 解决思路:给ply中绿色的摄像机点和白色的普通点都加上坐标数值异常过滤 极大 / 极小的数值,这说明部分地图点的 3D 坐标是无效值(比如 NaN、inf 或者计算溢出的错误值),导致 MeshLab 显示出了异常的坐标刻度。 点击查看代码 vo 阅读全文
posted @ 2026-02-04 22:47 阳光天气 阅读(3) 评论(0) 推荐(0)
摘要:memcpy 就是 C/C++ 里一个内存块 “搬家” 工具,你可以把它想象成「用胶带把一整排文件从抽屉 A 粘到抽屉 B」的操作。 它的作用是:从一个内存地址(源),把指定字节数的数据,原封不动地复制到另一个内存地址(目标)。 不管内存里存的是什么类型(int/double/ 结构体都可以),它只 阅读全文
posted @ 2026-01-28 09:57 阳光天气 阅读(15) 评论(0) 推荐(0)
摘要:点击查看代码 #include<iostream> using namespace std; int main() { //模拟BALProblem的核心逻辑:角轴数组->四元数数组 //1.初始化旧数组(角轴格式:假设1个相机,9维参数) int old_size = 9;//9*1个相机+0个点 阅读全文
posted @ 2026-01-26 10:12 阳光天气 阅读(4) 评论(0) 推荐(0)
摘要:核心差异:atan 是单参数、无象限区分、范围窄;atan2 是双参数、有象限区分、范围全,且无需提前做除法; 工程选择:SLAM / 机器人 / 图形学等需要精准计算角度的场景,优先用 atan2(y, x);atan 仅适用于已知角度在 [-90°, 90°] 的简单场景; 代码意义:atan2 阅读全文
posted @ 2026-01-24 21:32 阳光天气 阅读(11) 评论(0) 推荐(0)
摘要:一 Eigen::Map 核心概念回顾 先明确核心定位:Eigen::Map是Eigen库提供的内存映射工具, 能把一段连续的原始内存(C数组 malloc内存 缓冲区等)直接包装成Eigen的向量/矩阵对象, 无需拷贝数据,让Eigen的便捷接口操作原始内存。 目标Eigen类型:要映射成的类型( 阅读全文
posted @ 2026-01-20 10:32 阳光天气 阅读(14) 评论(0) 推荐(0)
摘要:先回顾前提:const 成员函数的 “限制” 之前我们讲过,函数后的 const 会让编译器强制保证:这个成员函数里不能修改类的任何成员变量。 但实际开发中,有些变量的修改并不会改变对象的 “核心逻辑状态”(比如统计函数被调用了多少次、缓存临时数据、加锁解锁),如果因为这些辅助变量的修改就不能加 c 阅读全文
posted @ 2026-01-19 16:36 阳光天气 阅读(4) 评论(0) 推荐(0)
摘要:1.先搞懂前提:没有 explicit 时的 “隐式转换”(新手最容易踩的坑) explicit 是针对类的构造函数的,所以先从构造函数的一个 “隐藏特性” 说起: 如果一个类的构造函数只有 1 个参数(或者除第一个参数外,其他参数都有默认值),C++ 编译器会偷偷允许一种 “偷懒写法”——隐式转换 阅读全文
posted @ 2026-01-19 10:33 阳光天气 阅读(5) 评论(0) 推荐(0)
摘要:OpenCV 中 parallel_for_函数的具体用法,这个函数是OpenCV提供的并行化计算工具,能帮你高效低利用多核CPU加速循环类的计算任务。 一、parallel_for_ 核心概念 parallel_for_ 本质是OpenCV对多线程的封装,它会自动将一个大的循环任务拆分成多个子任务 阅读全文
posted @ 2026-01-07 11:46 阳光天气 阅读(33) 评论(0) 推荐(0)
摘要:允许我们创建一个可调用对象,它在调用时会将给定的参数绑定到一个函数或函数对象。 std::bind是C++11引入的函数绑定器(头文件),它的核心能力是: 绑定函数(普通函数/成员函数/对象函数)的部分/全部参数; 返回一个“新的可调用对象”(可以像普通函数一样调用); 未绑定的参数用【占位符】(s 阅读全文
posted @ 2026-01-06 10:20 阳光天气 阅读(8) 评论(0) 推荐(0)
摘要:一、GDB 是什么? GDB(GNU Debugger)是 Linux/macOS 下的命令行调试工具,核心作用是: 定位程序崩溃的具体代码行(如段错误、浮点异常); 实时查看 / 修改变量值、寄存器状态; 单步执行代码,逐步排查逻辑错误; 分析程序的函数调用栈(崩溃时的执行路径) GDB 是定位 阅读全文
posted @ 2026-01-01 21:01 阳光天气 阅读(10) 评论(0) 推荐(0)
摘要:一、Valgrind 是什么 Valgrind 是 Linux 下的开源内存调试 / 性能分析工具集,核心功能是检测程序的内存问题(泄漏、越界、重复释放、使用未初始化内存等),是 C/C++ 程序(尤其是涉及手动内存管理的程序,如你的 3D-3D 位姿估计代码)调试的必备工具。 它的核心原理是:通过 阅读全文
posted @ 2026-01-01 20:13 阳光天气 阅读(24) 评论(0) 推荐(0)
摘要:一、NaN的本质含义 Nan(Not a Number)是浮点数类型(float double long double)特有的一种特殊数值,用于表示无效或未定义的浮点运算结果,它不是一个具体的"数字", 而是一种标记异常运算的状态。 常见产生NaN的场景包括: 1.无效的数学运算:0.0/0.0(零 阅读全文
posted @ 2025-12-26 10:05 阳光天气 阅读(113) 评论(0) 推荐(0)
摘要:步骤 1:理解 1 << k(生成 “定位掩码”) 1 << k 是左移运算,核心是生成一个 “仅第 k 位为 1,其余位全为 0” 的二进制数(这个数叫 “掩码”,用来精准定位第 k 位) 步骤 2:理解 d | (1 << k)(按位或,仅置 1 目标位) | 是按位或运算,规则极其简单:两个数 阅读全文
posted @ 2025-12-18 11:36 阳光天气 阅读(31) 评论(0) 推荐(0)
摘要:释放给调用方返回的存储指针的所有权,并将存储的指针值设置为nullptr。 属性值/返回值 返回存储的指针。 备注 使用 release接管unique_ptr存储的原始指针的所有权。 调用方负责返回的指针的删除。 unique-ptr设置为空的默认构造状态。 在调用到release后,您可以将兼容 阅读全文
posted @ 2025-12-14 11:29 阳光天气 阅读(10) 评论(0) 推荐(0)
摘要:1. 前言 在C++14标准中引入了一系列方便而强大的函数模板,旨在简化和改进代码的编写和可读性。其中之一是std::make_unique函数模板,它提供了一种更安全和方便的方式来创建和管理动态分配对象。本文将介绍std::make_unique的作用,它是如何使用的,以及四个示例代码来展示其实际 阅读全文
posted @ 2025-12-13 19:27 阳光天气 阅读(26) 评论(0) 推荐(0)
摘要:mingw-w64的安装 MinGW全称是Minimalist GNU on Windows,也就是将Linux/Unix环境下赫赫有名的GCC编译器以及其相关的编译调试组件移植到了Windows上。 网页地址 https://www.mingw-w64.org/ github地址 https:// 阅读全文
posted @ 2025-11-16 17:19 阳光天气 阅读(76) 评论(0) 推荐(0)
摘要:https://hub.docker.com/r/mapler/caffe-py3/ docker pull mapler/caffe-py3 docker run -it mapler/caffe-py3 bash 阅读全文
posted @ 2025-11-12 09:27 阳光天气 阅读(7) 评论(0) 推荐(0)
摘要:点击查看代码 import json import os import base64 import numpy as np import cv2 from math import cos, sin, radians import argparse def rotate_point_opencv_st 阅读全文
posted @ 2025-09-22 11:27 阳光天气 阅读(25) 评论(0) 推荐(0)
摘要:1.图片转base64 点击查看代码 import os import shutil import base64 def traverse_folder(path): for root,dirs,files in os.walk(path): for file in files: if file.s 阅读全文
posted @ 2025-04-07 16:06 阳光天气 阅读(350) 评论(0) 推荐(0)