C++模板

C++是一门强类型语言,编写一个通用函数,能把任意类型的变量传进去处理,通过把通用逻辑设计为模板来摆脱类型限制 C++中的模板语法,实际上是在为C++提供泛型(Generic Programming)的机制。 最常见的泛型应用在STL的容器中。 类模板 Class Templates用于生成类。 没

C++11及其之后的新特性(简单介绍)

C++11 自动类型推导 auto需要注意的是: 必须在定义时初始化auto类型的变量 auto类型不能定义数组 一旦初始初始化,就不可更改类型 auto x = 5; auto y = 3.14; auto a; // 错误 auto array[10]; //错误 auto a = 10;

ROS1的launch文件

之前一直是 rosrun方式启动ros节点的, 一是因为懒, 二是因为我只负责一个节点, 用不到launch方式. 这次遇到了不能保存ROS日志的bug, 换成launch方式启动就能成功保存日志了... Launch文件 ROS中 .launch 文件可以同时启动多个 node, 包括 rosco

Livox格式的rosbag转为PointCloud2格式

参考文章前两篇是CSDN的,又一次让我见识到CSDN的Blog质量之低了。 写这篇文章的目的,是Livox LiDAR发布的格式是CustomMsg,没有办法用rviz直接可视化,必须重新发布为PointCloud2格式或者使用C++通过driver直接解析。 安装 先编译并安装Livox的SDK:

ROS1的bag录制

bag录制 录制所有话题,这里没有指定bag名,会在当前路径生成一个当前时间戳命名的bag rosbag record -a 录制指定话题 rosbag record <topic_name1> <topic_name2> ... 录制指定话题,并指定bag名称,arg为大写的英文字母O rosba

多传感器融合——后融合

多传感器融合的方案可以分成前融合(Early Fusion)方案和后融合(Late Fusion)方案。 前融合也叫特征级融合,不同传感器的数据会在特征级别进行合并,也就是说,不同模态的数据经过处理和合并后会得到一个特征集合。一般来说,每个模态数据的特征会被分别提取,然后被提取到的特征会被合并为一个

GStreamer学习

GStreamer在我看来更像是视频编解码领域的内容。 JPEG和MPEG 先区分一下这两个格式[1]。 JPEG全称Joint Photographic Experts Group,文件拓展名一般为.jpg或者.jpeg,是一种静态图像压缩标准,压缩比能达到10:1。 MPEG全称Moving P

计算机视觉中的Affine和Perspective Transformation

Affine Transformation 仿射变换是在二维空间上对图像进行平移(Translation)、缩放(Scale)、旋转(Rotate)、错切(Shear)操作的组合。 四种变换的矩阵形式分别为: 平移:T_t = \begin{bmatrix} 1 & 0 & p_x \\ 0 & 1

【败家】一条手串的的串生历程

虽说是历程...但是手串刚到我的手里,就先放一张出生(无谐音)图吧。 猴头 这个猴头不是黑神话悟空里猴头泡酒的那个猴头...它其实是核桃。 这是一串10mm+的全品小馒头料猴头手串。 柏香籽 也叫百香籽,柏香子,这几种写法都没错。 这是一串36颗的9mm+热振竖桩顺纹柏香籽手串(名字好长),它没法戴

Windows11 4070Ti部署Deepseek

本来以为难度颇高,没想到还挺简单... 需要的软件就两个: ollama Chatbox AI 模型的部署 进入两个软件的官网并下载Windows版本,下载完成后安装。 使用win+R 呼出Windows的终端,然后进入ollama的模型页面,选择你需要使用的模型分支,b前的数字越大,模型参数越多,

C++ STL容器的底层原理

C++ STL 容器是使用频率超高的基础设施,只有了解各个容器的底层原理,才能得心应手地用好不同的容器,做到用最合适的容器干最合适的事情[1]。看了文章[1],可惜其中对容器方法的底层几乎没有提及,那就自己边查边写吧。本文大部分内容来自cplusplus.com/reference/ 。 C++ S

图像的色彩空间

最近一个项目需要用到x86控制器+GMSL相机的组合,这种情况一般会用一张图像采集卡来获取GMSL相机的图像,也就是PCIe-GL26设备将GMSL相机图像发送至HOST端 - FunnyWii's Zone 中使用的方案,但是其成本会很高,于是采购了一个GMSL转USB的转换器。官方也提供了工具的