<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[pgk411的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/pgk411</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; pgk411]]></copyright><item><title><![CDATA[ubuntu内核启动黑屏 无法进入图形见面的问题复盘]]></title><link>https://blog.csdn.net/pgk411/article/details/164852485</link><guid>https://blog.csdn.net/pgk411/article/details/164852485</guid><author>pgk411</author><pubDate>Thu, 10 Sep 2026 15:28:37 +0800</pubDate><description><![CDATA[失误具体表现后果未先索要硬件信息不知道是 RTX 5060（2025新卡）反复装 535/550 等旧驱动未先确认内核版本不知道默认启动 6.12.83驱动编译一直失败未先查看错误日志没执行不知道未确认内核头文件没执行不知道 DKMS 编译失败给出高风险指令让用户删除内核、重装驱动系统引导损坏，多次黑屏未及时止损试错 5+ 轮后才被动询问用户时间被大量浪费。]]></description><category></category></item><item><title><![CDATA[卡尔曼滤波学习笔记]]></title><link>https://blog.csdn.net/pgk411/article/details/156697890</link><guid>https://blog.csdn.net/pgk411/article/details/156697890</guid><author>pgk411</author><pubDate>Thu, 08 Jan 2026 20:53:10 +0800</pubDate><description><![CDATA[卡尔曼滤波本质是（预测 + 更新）的两部递归算法，用于在有噪声的动态系统中估计系统状态。]]></description><category></category></item><item><title><![CDATA[git中子模块问题的问题记录]]></title><link>https://blog.csdn.net/pgk411/article/details/156198587</link><guid>https://blog.csdn.net/pgk411/article/details/156198587</guid><author>pgk411</author><pubDate>Tue, 23 Dec 2025 16:11:10 +0800</pubDate><description><![CDATA[charpt7/charpt_ws/src目录下还有一个.git目录，这就是为什么Git仍然认为它是一个嵌入的git仓库。需要先删除这个内部的git仓库信息。git add没有显示预期效果。]]></description><category></category></item><item><title><![CDATA[C++ 中的 lambda 表达式和 std::bind]]></title><link>https://blog.csdn.net/pgk411/article/details/152174550</link><guid>https://blog.csdn.net/pgk411/article/details/152174550</guid><author>pgk411</author><pubDate>Sat, 27 Sep 2025 19:24:01 +0800</pubDate><description><![CDATA[值捕获：创建变量的副本。1.lambda内部使用的是外部变量的拷贝2.外部变量的修改不会影响lambda内部的副本3.lambda内部对副本的修改不会影响外部变量引用捕获：使用变量的引用1.lambda内部直接操作外部变量捕获情况[]：不捕获任何变量。[=]：通过值捕获所有外部变量。[&]：通过引用捕获所有外部变量。[x, &y]：通过值捕获x，通过引用捕获y。[=, &z]：通过值捕获所有外部变量，但通过引用捕获z。[&, a]：通过引用捕获所有外部变量，但通过值捕获a。[this]]]></description><category></category></item><item><title><![CDATA[git用法]]></title><link>https://blog.csdn.net/pgk411/article/details/152093762</link><guid>https://blog.csdn.net/pgk411/article/details/152093762</guid><author>pgk411</author><pubDate>Fri, 26 Sep 2025 11:59:32 +0800</pubDate><description><![CDATA[基础用户信息配置。]]></description><category></category></item><item><title><![CDATA[atan()和atan2()区别]]></title><link>https://blog.csdn.net/pgk411/article/details/152091964</link><guid>https://blog.csdn.net/pgk411/article/details/152091964</guid><author>pgk411</author><pubDate>Thu, 25 Sep 2025 20:16:29 +0800</pubDate><description><![CDATA[接收两个独立的坐标，它能“看到” x 和 y 都是正的，因此判断点在第一象限，返回。却只返回了 45度。因为它只关心斜率，无法知道分子和分母的正负，这就是。点 B 的斜率 = (-1) / (-1) =能“看到” x 和 y 都是负的，因此判断点在第三象限，返回。点 A 的斜率 = 1 / 1 =对于点 A（在第一象限），这个结果是正确的。但对于点 B（在第三象限），实际角度应该是。atan()和atan2()（等价于 225度）。]]></description><category></category></item><item><title><![CDATA[ROS2 常用工具]]></title><link>https://blog.csdn.net/pgk411/article/details/151973170</link><guid>https://blog.csdn.net/pgk411/article/details/151973170</guid><author>pgk411</author><pubDate>Mon, 22 Sep 2025 21:19:45 +0800</pubDate><description><![CDATA[【代码】无法安装mrpt2工具（UBUNTU）]]></description><category></category></item><item><title><![CDATA[ROS2核心通信机制:从API调用到底层]]></title><link>https://blog.csdn.net/pgk411/article/details/151901823</link><guid>https://blog.csdn.net/pgk411/article/details/151901823</guid><author>pgk411</author><pubDate>Sat, 20 Sep 2025 18:37:33 +0800</pubDate><description><![CDATA[你的ROS代码（API调用）↓ROS 2库（提供简单API）↓序列化（C++对象 → 二进制）↓TCP/UDP传输（选择可靠性）↓IP路由（找到目标地址）↓网络传输（电信号/无线波）↓反序列化（二进制 → C++对象）↓对方ROS代码收到数据。]]></description><category></category></item><item><title><![CDATA[ROS2的开发流程]]></title><link>https://blog.csdn.net/pgk411/article/details/151658721</link><guid>https://blog.csdn.net/pgk411/article/details/151658721</guid><author>pgk411</author><pubDate>Sat, 13 Sep 2025 21:47:27 +0800</pubDate><description><![CDATA[【代码】ROS2的开发流程。]]></description><category></category></item><item><title><![CDATA[第三周OPENCV学习笔记]]></title><link>https://blog.csdn.net/pgk411/article/details/148239412</link><guid>https://blog.csdn.net/pgk411/article/details/148239412</guid><author>pgk411</author><pubDate>Wed, 18 Jun 2025 10:51:55 +0800</pubDate><description><![CDATA[的图像处理技术，它通过重新分配图像像素的强度值，使图像的直方图分布更加均匀，从而改善图像的视觉效果。处理鼠标事件的重要函数setMouseCallback()双边滤波 (bilateralFilter)智能美颜。仿射变换        warpAffine()中间清晰向边缘逐渐模糊，适合需要自然过渡的模糊。高斯模糊 (GaussianBlur)背景虚化。让图像变模糊，适合需要快速简单模糊的场景。图像翻转        flip()convertTo()数据类型转换。normalize()归一化。]]></description><category></category></item><item><title><![CDATA[opencvc++学习笔记第二周]]></title><link>https://blog.csdn.net/pgk411/article/details/148080816</link><guid>https://blog.csdn.net/pgk411/article/details/148080816</guid><author>pgk411</author><pubDate>Thu, 22 May 2025 21:49:28 +0800</pubDate><description><![CDATA[rectangle(目标图像，矩形区域，颜色，线条粗细(-1表示填充)，线条类型，坐标点的小数点位数)applyColorMap(输入图像1/3通道，输出图像3通道，色彩映射类型)bitwise_and(第一个图像，第二个图象，输出图像)  交集。bitwise_or(第一个图像，第二个图象，输出图像)  并集。bitwise_not(输入图像，输出图像)  取反。split(输入的多通道图像，输出的单通道图像数组)resize(输入图像，输出图像，目标尺寸）输入图像若为三通道，则自动转为灰度图，再映射。]]></description><category></category></item><item><title><![CDATA[opencvc++学习笔记第一周]]></title><link>https://blog.csdn.net/pgk411/article/details/147868609</link><guid>https://blog.csdn.net/pgk411/article/details/147868609</guid><author>pgk411</author><pubDate>Tue, 20 May 2025 09:27:14 +0800</pubDate><description><![CDATA[读取图像文件的函数Imread(读取图像文件路径,读取图像的方式)第二个参数:IMREAD_COLOR读取彩色，不读AIpha透明度(默认)IMREAD_GRAYSCALE用灰度模式读取IMREAD_UNCHANGED 读取包含BGR通道和AIpha通道返回值    成功则Mat对象,表示读取的图像失败则为空的 Mat对象在窗口中展示图像imshow(窗口名称，图像矩阵,Mat类型)显示窗口时间waitKey(time)time=0则表示无限等待,直到用户按下按键创建或设置一个窗口。]]></description><category></category></item><item><title><![CDATA[C++中的auto关键字]]></title><link>https://blog.csdn.net/pgk411/article/details/145450078</link><guid>https://blog.csdn.net/pgk411/article/details/145450078</guid><author>pgk411</author><pubDate>Wed, 05 Feb 2025 10:01:16 +0800</pubDate><description><![CDATA[从 C++11 标准开始引入，它主要用于自动类型推导，让编译器根据变量的初始化表达式自动推断变量的类型，从而简化代码编写，提高代码的可读性和可维护性。在定义变量时，使用 auto 关键字代替具体的类型，编译器会根据初始化表达式自动推断变量的类型。]]></description><category></category></item><item><title><![CDATA[C++标准库中队列功能]]></title><link>https://blog.csdn.net/pgk411/article/details/145423030</link><guid>https://blog.csdn.net/pgk411/article/details/145423030</guid><author>pgk411</author><pubDate>Sun, 02 Feb 2025 22:01:40 +0800</pubDate><description><![CDATA[【代码】C++标准库中队列功能。]]></description><category></category></item><item><title><![CDATA[STL中的动态数组容器vector]]></title><link>https://blog.csdn.net/pgk411/article/details/145411405</link><guid>https://blog.csdn.net/pgk411/article/details/145411405</guid><author>pgk411</author><pubDate>Sat, 01 Feb 2025 23:21:08 +0800</pubDate><description><![CDATA[vector内部通过动态内存分配来储存元素，它在堆上分配一块连续的内存空间来储存元素。当不断输入元素造成vector内存空间大于初始分配的内存空间时，它会通过重新分配空间并且另外开取一片更大的空间，将之前的数据复制并存入新的空间，并且释放先前的空间。通过索引访问 vector 中的元素，会进行越界检查，如果越界会抛出 std::out_of_range 异常。的大小，如果新大小大于原大小，新元素将被默认初始化；中的所有元素，使其大小变为 0，但容量可能不变。删除指定位置的元素或者指定范围的元素。]]></description><category></category></item><item><title><![CDATA[keil51报错error C231:‘ TL2‘:redefinition 怎么办 没办法创建HEX文件]]></title><link>https://blog.csdn.net/pgk411/article/details/145328958</link><guid>https://blog.csdn.net/pgk411/article/details/145328958</guid><author>pgk411</author><pubDate>Thu, 23 Jan 2025 20:40:03 +0800</pubDate><description><![CDATA[keil51无法创建HEX文件]]></description><category></category></item><item><title><![CDATA[九宫格扫描]]></title><link>https://blog.csdn.net/pgk411/article/details/144712424</link><guid>https://blog.csdn.net/pgk411/article/details/144712424</guid><author>pgk411</author><pubDate>Wed, 25 Dec 2024 10:38:58 +0800</pubDate><description><![CDATA[max函数min函数  用来防止越界。]]></description><category></category></item><item><title><![CDATA[显示类型转换和隐式类型转换]]></title><link>https://blog.csdn.net/pgk411/article/details/143827439</link><guid>https://blog.csdn.net/pgk411/article/details/143827439</guid><author>pgk411</author><pubDate>Sun, 17 Nov 2024 09:09:52 +0800</pubDate><description><![CDATA[显式类型转换是指程序员在代码中明确地指示编译器将一种数据类型转换为另一种数据类型。这也被称为强制类型转换。]]></description><category></category></item><item><title><![CDATA[NULL和nullptr的区别]]></title><link>https://blog.csdn.net/pgk411/article/details/143814510</link><guid>https://blog.csdn.net/pgk411/article/details/143814510</guid><author>pgk411</author><pubDate>Sat, 16 Nov 2024 11:23:32 +0800</pubDate><description><![CDATA[它的类型是std::nullptr_t，这是一种特殊的类型，可以隐式转换为任何指针类型，但不能转换为非指针类型。在这个例子中，编译器可能会将NULL解释为((void *)0)，而在 C++ 中，从void*到其他指针类型（如int*）的转换不是隐式的，这可能会导致编译器发出警告或者错误，需要进行显式类型转换才能通过编译。这里，nullptr可以隐式地转换为int*类型，因为它的类型是std::nullptr_t，并且编译器知道它是一个空指针，符合函数func对于参数类型的要求，不会产生类型不匹配的问题。]]></description><category></category></item><item><title><![CDATA[C语言中的输入方法汇总]]></title><link>https://blog.csdn.net/pgk411/article/details/143607429</link><guid>https://blog.csdn.net/pgk411/article/details/143607429</guid><author>pgk411</author><pubDate>Thu, 07 Nov 2024 21:11:49 +0800</pubDate><description><![CDATA[语法：int getchar(void);]]></description><category></category></item></channel></rss>