自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 CNN中的交叉熵损失函数计算与反向传播原理

CNN中的交叉熵损失函数计算

2024-01-13 20:54:06 501

原创 softmax激活函数理解

softmax激活函数理解

2023-12-20 20:46:50 111

原创 【ROS包launch报错】ERROR: cannot launch node of type或者Resource not found:

【ROS包launch报错】ERROR: cannot launch node of type或者Resource not found:

2023-12-08 15:27:04 1763

原创 雷达坐标系下的点转换为图像坐标系的思路

雷达坐标系下的点转换为图像坐标系的思路

2023-12-05 15:08:04 227

原创 ubuntu yaml库出现undefined reference to `YAML::detail::node_data::convert_to_map错误

【代码】ubuntu yaml库出现undefined reference to `YAML::detail::node_data::convert_to_map错误。

2023-12-04 21:36:32 566

原创 ubuntu中ROS出现无法定位xxx安装包,尝试apt-update

sudo apt-get update会出现一段key报错复制下来。按照重新配置ROS中的导入key。

2023-11-28 11:10:07 204

原创 引用作为函数的返回值

2). 返回堆区对象的引用,这种情况要特别注意,这时候返回函数的引用是作为一个临时变量出现,没有将它赋值给一个实际存在的变量,那么这个堆区对象的内存空间就没有释放,可能造成内存泄漏。”的时候就会把临时变量的值再拷贝给a,假设这个临时变量是t,相当于做了这两个赋值的步骤:t = temp;返回引用实际返回的是一个指向返回值的隐式指针,在内存中不会产生副本,是直接将temp拷贝给a,这样就避免产生临时变量,相比返回普通类型的执行效率更高,而且这个返回引用的函数也可以作为赋值运算符的左操作数,但是这时候需要。

2023-09-10 10:13:04 139

原创 c++手写一个简单的栈以及二叉树

【代码】c++手写一个简单的栈以及二叉树。

2023-09-10 10:01:38 59

原创 PDA算法和JPDA算法区别

相关的学习链接:2)3)4)

2023-09-07 21:49:05 600

原创 函数模板与类模板的比较

函数模板与类模板的比较

2023-08-11 11:24:05 74

原创 互斥锁原理

4) 访问共享数据(stdout)

2023-08-08 21:27:53 37

原创 OSI模型

1) IP协议:互联网协议,定义网络层的地址2) ICMP:网络控制消息协议;探测网络连接情况3) ARP:地址解析协议;将IP地址解析为MAC地址4) IGMP:网络组消息协议1) TCP传输:1) HTTP:超文本传输协议, FTP, TFTP,SMTP,SNMP2) DNS:域名服务。

2023-08-08 16:08:35 85

原创 如何解决Git提交版本冲突?

1) 我在分支dev01里修改该文件的内容,例如file02.txt中的count = 2,然后切换到master分支,并且在master中修改file02.txt中的count = 3;2)然后将dev01分支合并到master分支,执行指令git merge。2) 删除报错消息,修改该变量为你需要的值。3)出现merge conflict报错。1) 在当前分支下面打开test.cpp。

2023-08-08 15:04:16 168

原创 Linux线程与进程的区别

资源执行调度的基本单位;有独立的PCB,没有独立的进程地址空间,地址空间共享。资源分配的基本单位;有独立的进程地址空间。

2023-08-06 17:16:59 262

原创 Linux中断处理方式

总的来说,Linux中断处理方式采用了中断向量表和中断处理程序的机制,通过中断信号触发、查找中断处理函数、执行中断处理程序等步骤来处理硬件设备发生的事件。中断处理函数执行:一旦找到了对应的中断处理函数,CPU会跳转到该函数的入口地址,开始执行中断处理程序。中断向量表查找:CPU收到中断信号后,会暂停当前执行的任务,然后根据中断信号的编号,在中断向量表中查找对应的中断处理函数。中断处理程序结束:一旦中断处理程序执行完毕,CPU会恢复保存的进程上下文,并将控制权返回给被中断的进程,使其继续执行。

2023-07-21 14:53:26 252

原创 C++11新特性

右值引用(Rvalue references)和移动语义(Move semantics):引入了&&符号来表示右值引用,支持高效地移动对象而不进行不必要的复制。并发编程支持:引入了线程库(thread)和互斥量库(mutex)等,并提供了原子操作和条件变量等机制,方便进行多线程编程。空指针常量(nullptr):引入了空指针常量nullptr作为空指针的标识,取代了以前的NULL宏定义。统一的初始化语法:可以使用花括号{}来初始化各种类型的对象,包括数组、结构体、类等。

2023-07-20 16:19:22 49

原创 Nvidia Settting显卡配置不能保存&&设置开机自启动脚本

3. 将该文件放到/etc/init.d/文件夹下。

2023-07-05 10:31:13 197

原创 Ubuntu系统下使用VScode进行CMake编译调试C++程序

program为你make生成可执行文件的路径配置, MROR_exe为add_executable生成的可执行文件名称。必须确保你的cmake文件能够编译通过,并make生成可执行文件。一定要提前确保你的程序能够编译并且运行,否则不能调试!给你的程序打上断点,然后按F5,进入调试。1.设置CMakeLists.txt。2.VScode调试。

2023-04-06 16:42:18 1281

原创 CMake 链接时出现undefined reference to 错误

执行cmake出现undefined reference toxx,显示main函数中的类成员函数调用没有声明,但是所有声明已经在MROR.h中写了。1) 可能MROR.cpp文件没有链接到项目,且cpp文件中含pcl库,可能未编译链接。2) 可能项目中使用了函数模板,导致cmake报错失败。将cpp实现文件与h文件合并为hpp。之前新建了一个项目项目文件分布为。

2023-04-06 15:17:11 10853 1

转载 C++ namspace

namspace

2023-03-21 15:45:25 90

原创 rviz: symbol lookup error: /opt/ros/noetic/lib/librviz.so:报错

之前装了annaconda导致两个QT版本的链接库报错解决方法:把anaconda目录下关于qt5的动态链接库删除rviz就可以重新打开了

2022-12-06 21:17:31 1252 1

原创 Open3d显示点云数据

功能:python实现批量读取并显示bin格式的点云文件。读取显示的效果图如下。

2022-11-30 14:50:24 649

原创 Openpcdet训练自己的数据集

本人移植其他的数据集,由于我有自己的image数据,已经按照kitti数据集的格式转换为velodyne, calib, label, image四个文件,并且实现了评估,以及最终的检测结果,所以可能和其他博主不一样。这个函数主要用来生成你的数据字典,一般以.pkl后缀,如果你不需要评估,可以将其中的评估部分删除,原理也很简单。之前训练之后检测框并没有出来,后来我才发现可能是自己的数据集太少,出来的检测框精度太低,于是我在。部分作了一点修改,并在之前加入一个mask限制条件,结果果然出来检测框了。

2022-11-28 17:42:02 5761 12

原创 Pyhton实现点云保存为bin文件

【代码】Pyhton实现点云保存为bin文件。

2022-11-23 16:05:45 810

原创 Python实现批量修改并替换txt文本中内容

【代码】Python实现批量修改并替换txt文本中内容。

2022-11-21 16:50:21 3393 4

原创 python实现批量点云bin文件转txt文件

【代码】python批量实现点云bin文件转txt文件。

2022-10-29 20:35:10 1798 4

原创 UKF滤波的简单理解与仿真

一、简单理解(不严谨)UKF的本质是利用随机采样的条件均值代替均值,使用被估计量和量测量的再现样本点计算两者的方差阵。通常通过选取(2n+1)个Sigma点来拟合均值和方差,再用得到的方差去更新卡尔曼增益系数和状态误差。假设存在非线性系统:1)首先选取Sigma点(也就是常说的UT变换),使其满足:2)将得到的Sigma点矩阵乘以相应的状态转移矩阵,得到预测点Xi(或者表示为Xk|k-1),再次重复步骤1,根据预测值,再次使用UT变换,得到新的sigma点集同理...

2022-05-16 17:20:34 1000

原创 视觉slam14讲ch7

已知文件夹pose_estimation_2d2d下面两幅图像1.png 2.png单目相机2d-2d:对极几何验证#include <iostream>#include <opencv2/core/core.hpp>#include <opencv2/features2d/features2d.hpp>#include <opencv2/highgui/highgui.hpp>#include <opencv2/calib3d/cal

2022-03-30 21:08:37 423

原创 视觉slam14讲ch6

Ceres拟合曲线#include <iostream>#include <opencv2/core/core.hpp>#include <ceres/ceres.h>#include <chrono>using namespace std;//代价函数struct CURVE_FITTING_COST{ CURVE_FITTING_COST(double x, double y):_x(x),_y(y){} //有参构造函

2022-03-29 14:55:29 159

转载 EKF滤波Matlab代码

close all;clear all;%% 真实轨迹模拟kx = .01; ky = .05; %阻尼系数g = 9.8;t = 15; %仿真时间Ts = 0.1; %采样周期len = fix(t/Ts); %仿真步数dax = 3;day = 3; %系统噪声X = zeros(len, 4); X(1,:) = [0, 50, 500, 0]; %状态模拟的初值%% 建立.

2021-11-02 21:50:25 1768 1

原创 C++学习篇:static局部静态对象

#include <iostream>using namespace std;size_t count_calls(){ static size_t ctr = 0; return ++ctr;}int main(){ for (size_t i = 0; i != 10;i++) cout << count_calls() << endl; return 0;}程序将输出1~10的数字,程序运行时每次static变量都会保存上一次的值.

2021-10-31 15:49:21 310

原创 列主元Gauss消去法的C++实现

#include<iostream>#include<vector>#include<math.h>using namespace std;void print_func(float(*arr)[15], int n);void exchange_func(float(*arr)[15], int n);void sol_func(float(*arr)[15], int n);int main(){ size_t n; float a[15][.

2021-10-30 14:55:15 528

原创 C++学习篇:使用迭代器实现二分法查找

#include <iostream>#include <string>#include <vector>using namespace std;//使用迭代器完成二分搜索int main(){ vector<string> text; auto beg = text.begin(), end = text.end(); //beg和end是要搜索的范围 auto mid = text.begin() + (end - b.

2021-10-30 14:48:31 355

原创 C++学习篇:指针与二维数组

#include <iostream>#include<vector>#include<string>using namespace std;//指针与二维数组的访问int main(){ int v[2][3] = { {1,2,3},{4, 5, 6} }; int(*a)[3] = v; cout << *a << endl; //输出1的地址 cout << (*a + 1) <.

2021-10-30 14:41:09 104

原创 Yacobi迭代法的C++实现

雅克比方程组的公式大家从网上可以找到,这里给出程序的C++代码实现。#include<iostream>#include<math.h>using namespace std;//Jacobi迭代法求解方程组的解int n;double a[100][100], b[100], x[100][100];double e; //定义全局变量void input()

2021-10-29 20:24:50 3108 1

原创 Gauss-Seidel迭代法的C++实现

高斯赛德尔迭代法大家可以从网站上找到相关的公式推导,这里给出它的C++算法实现和运行的结果。#include<iostream>#include<math.h>using namespace std;int n; //定义全局变量double a[100][100], b[100], x[100][100];double e;void input_fun

2021-10-29 20:16:03 5067 1

原创 Newton迭代法的C++实现

#include<iostream>#include<math.h>using namespace std;//1.编制Newton法解方程f(x) = 0的通用程序float func_x(float x); //函数声明float diff_func(float x);int main(){ float x0, e1, x1,tol; int cont = 1; cout << "Please input a roo.

2021-10-29 13:09:01 500

原创 计算N = 1/n*n-1 + 1/(n-1)(n-1)-1 + ...... + 1 / 2*2-1的C++实现

float s1(float N1) //从大到小的计算顺序函数{ float i,sum1 = 0; for (i = 2 ;i <= N1 ; i++) { sum1 += 1.0 / (i * i - 1); } return sum1; //函数返回值}float s2(float N2) //从小到大的计算顺序函数...

2021-10-29 09:51:23 209

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除