自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Qt中的M(model)V(view)C(controler)

Qt中的Widget 是一种便利类,是一种写死了的视图类,不够自由。在Qt中 MVC模型中的V与C被整合到了一起。Model&View 是更常用的方式。

2024-08-30 16:54:35 227

原创 Qt———自定义代理 利用指定组件替代默认的QLineEdit

如果想把QLineEdit改成其他的模块,只需要将对应的类进行更改即可。对应函数的实现方式(以实现QSpinBoxs为例)

2024-08-30 16:47:47 134

原创 QT MainWindow &QAction 手搓Word

QTextEdit 中有一个信号为copyAvailable() 触发条件是用户选中了文本框中的某些字,我们可以利用这个信号来唤醒默认无法使用的剪切,复制,粘贴选项 这样就可以达成对选中的字体进行复制粘贴,或者是更选字体的操作了。其中复制粘贴等操作可以直接利用添加信号槽的方式快速创建,不用手敲代码,唯一值得注意的就是发送者,接受者等值要搞清楚。效果图如下,即可有“选中的效果”,但是像右侧的中文与英文是互斥的,即选中其中一个,另外一个就不能被选中。利用信号传递的bool参数来确定是否字体被选中。

2024-08-25 22:01:42 153

原创 Qt ComboBox

可以看出addItem 第一个参数是Qicon(图标),第二个是名称(用户可见),第三个是用户不可见的隐藏数值。combo box中下拉框中添加定义方法如下。

2024-08-23 21:30:04 188

原创 Qt 学习笔记--信号与槽

connect函数的第一个参数是发送对象,第二个是信号,第三的是接收者,第四个是收到信号后对应的执行方法(槽函数),可以用SIGNAL和SLOT宏将函数转化为字符串的形式,但是一般来讲用函数指针(下面的形式)更直观。connect函数最后一个参数的含义,如果不写就默认为Auto。

2024-08-23 21:25:39 186

原创 后台开发核心技术与应用实践--笔记(1)

5.5中介绍了内存调试的相关信息,其中5.5.4(P176)介绍了相关工具--Valgrind的安装已经使用 ,目前暂时还没有阅读,直接调到了网络那部分,后面有需要再进行阅读。

2024-07-15 19:45:15 819

原创 讨论:利用SE(3)计算刚体运动信息的优势?

SE(3)是一个包含三维空间刚体运动信息的集合,其中的元素是四维矩阵T,同时包含了物体的运动信息与旋转信息。提出这个问题的原因是,涉及SE(3)的计算比较复杂,如果此方法没有相应的优点,那么看起来似乎有点费力不讨好。那么根据SE(3)对两种运动信息同时运算,与对这两种信息分开运算最后在整到一起相比的优势在哪?最近在思考SE(3)计算刚体运动信息相比于分开计算两种物体的运动信息的优势。目前博主还在查阅资料,如果有相同疑问或者知道问题答案的小伙伴,欢迎留言讨论。

2024-03-11 09:46:48 859

原创 VISMONO跑TUM数据集时evo读取路径信息缺失的解决方法

下面是修改代码后的数据(可以看出VINS传数据的频率是10HZ)如果是类似这种格式的数据,evo就可以正确读取了!中的“0”改为大于1的数字。如果代码为:loop_path_file.precision(0);对VINSMONO进行的修改,那么恭喜你中奖了,该博主的代码中出现了一个致命的问题。,这种情况会导致evo面对同样的时间戳只会读取一个位置信息,剩余的位置信息会丢失。简单来说就是时间戳的问题,如果保留的小数点位数过少会导致读取信息缺失。纠正了这个问题,如果看不懂我说的是什么可以跟着这篇博客的步骤走,

2024-01-14 19:51:59 428 1

原创 libfmt.so.9.1.0:对‘std::__throw_bad_array_new_length()@GLIBCXX_3.4.29’未定义的引用 的解决方法

可以看到,报错的是fmt这个库文件,而模板类Sophus是依赖于这个库的,所以我选择安装不依赖fmt的非模板类的Sophus。查阅资料,可能是fmt.so.9.1.0的版本过高导致的,有兴趣的朋友可以降低版本试一试。也就是说,需要加上的是:-DSOPHUS_USE_BASIC_LOGGING=ON ,在cmake时加上 -DUSE_BASIC_LOGGING=ON ,OK 加上!问题又来了,网上现有的安装非模板类的Sophus的方法是。调试成功,make不报错了!

2023-12-19 22:15:16 2289 2

原创 梯度下降:从牛顿法到LM法

在介绍牛顿法之前,笔者要先聊一下最经典的梯度下降法。对目标函数的目标点处进行求导,所得的方向就是梯度下降的方向。但是梯度下降方法的缺点也十分明显,如果不理想就可能使迭代次数大幅增加,影响效率。同时,梯度下降的也是一个问题,如果步长选取过小会导致迭代次数增加,步长选取过长就会导致上图的情况,无法获得最优解。

2023-05-05 20:17:54 433

原创 品读:Pose Correction Algorithm for Relative Frames between Keyframes in SLAM

作者在文章提到,如果相机主体是一辆前进的汽车,那么其位姿的主要变化就是Z轴(也就是前进方向)而对应的X、Y轴的变化就会有些缺失。但是本文的作者认为,相关帧实际上也有用处,例如一些框架需要全部(或者是很多)帧的时候,仅仅使用关键帧是远远不够的。由此,我们求出了由关键帧f0到相关帧fj的旋转向量与位移向量,这样我们就可以求出各个相关帧了。原文中给出了一张图来解释后面即将出现的符号的象征,即带*号的为优化后的位姿。插值法要做的是依次求出变换矩阵,从而求得两关键帧之间的相关帧的位姿。n为矢量空间的维数。

2023-05-04 20:40:26 205 7

原创 复现—张正友

三、“指针对应的数组维数”是在ceres::AutoDiffCostFunction 中定义的 例如在我写的代码中< ComputeKError , 2, 4,9,2> 第一个数指的是残差数量,后面三个对应的是传入的指针对应“数组”维数。具体的计算方程在论文中都写的十分详细,但是在具体实现时会有一些小问题,比如如果用OpenCV自带的SVD求解来求解类似AX=0(X中的值对应着单应矩阵H的值)的结果时所求得的结果需要进行归一化,这点在论文中并没有写出来。对这些误差做最小二乘,所得的结果即为最终结果。

2023-03-31 16:50:25 221

原创 3.9 之 看张正友

"photogrammetry"是一种通过使用摄影测量技术来获取三维空间信息的学科,它主要涉及相机标定、图像匹配、稠密点云生成、表面重建等方面。因此,正确理解“photogrammetry community”的中文意思应该是“摄影测量学界”或“摄影测量社区”。Radial:径向的;orthogonal palnes:正交平面;propose :提议;pattern: 模式,范例;rigidity:刚直;observing:观察;planar:平面的;procedure: 进程;performed:提供;

2023-03-24 16:07:08 81

原创 23.3.7 SIFT学习笔记(二)

SIFI学习笔记

2023-03-07 21:16:44 272

原创 学习笔记 23.3.6

sift论文品读

2023-03-07 17:13:08 71

原创 CeresBA优化细解(二)BA的搭建和求解

CeresBA优化

2023-02-22 13:02:57 447

原创 Ceres BA优化细解(一)

ceresBA算法学习与思考

2023-02-21 17:46:34 925 1

原创 Ceres 学习笔记

ceres学习笔记

2023-02-21 11:38:42 153

空空如也

空空如也

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

TA关注的人

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