- 博客(61)
- 收藏
- 关注
原创 【C# WInForm】将TextBox从输入框设置为文本框
textbox作为最常用的控件之一,通常是用来输入文本信息或者显示文字,但是如果要在界面中显示大段文本,一个带有边框、可选中的文本样式似乎不合适。像这样:我需要的是这段文字不仅能跨行,而且是并且。
2024-07-20 11:27:48
166
原创 【C#】函数方法、属性分文件编写
整项目的名称叫AutoMetadata,是一个基于WinForm框架的项目,除了Utils之外,其余都是基于WinForm生成的。现在在编写DEM_Do.cs和DOM_Do.cs两个窗口功能时,有200多行方法和属性石相同的,为了减少重复代码和调理更清晰,现在需要将功能方法抽取出来,放到Utils.cs当中去。
2024-07-04 17:23:00
370
原创 【C#】ProgressBar进度条&&异步编程思想
进度条通常用于显示代码的执行进程进度,在一些复杂功能交互体验时告知用户进程还在继续。在属性栏中,有三个值常用:Value表示当前值,Minimum表示进度条范围下限,Maximum表示进度条范围上限。
2024-07-02 10:00:16
441
原创 【C#】委托
委托是一种引用类型,能封装一个或者多个方法。类似于C++中的函数指针,但是比指针更灵活、安全。C++中函数指针通常用于:1.动态调用函数:在编译时不调用,而是在运行时。2.回调机制:异步操作中3.实现策略模式:允许在运行时选择算法或策略4.简化代码:将函数作为参数传入,封装好只用一个函数调用。
2024-07-01 16:13:38
523
原创 【编程知识】什么是编译型语言?什么是解释型语言?
跨平台:解释型语言更好。开发灵活性:解释型语言更好,快速调试。动态特性:解释型语言更好。性能:编译型语言速度更快,效率更高。
2024-06-27 17:22:38
147
原创 【算法学习】射线法判断点在多边形内外(C#)以及确定内外两点连线与边界的交点
如果没有特殊需求,待求点在图形的边界(线段、交点)上,默认是属于图形内部的。默认待求点的射线沿着x轴方向水平射出(水平向右射线经过边界交点情况很常见,为了防止上一个线段的末顶点和下一个线段的首顶点(这两个是一个点)被算作两次,所以只看线段的y更小[y1,y2)。(1)从简单情况开始分析:最简单的情况当属一个规整的四边形,射线与四边形的交点个数存在的情况有:0,1,2。如果,不考虑穿过顶点,不考虑点的射线与边平行(重合),就单纯考虑穿的全部是边,遇到这种情况:先建立遍历边的参数方程。
2024-06-25 23:15:05
389
原创 【Git】Windows下使用可视化工具Sourcetree
登录码云Gitee.com,在右上角我的主页–个人设置–安全设置–SSH公钥,将刚才的内容添加进去,输入密码检查后则会添加成功,该计算机本地则与云端仓库建立关联。C#开发项目中会有package包文件目录,不想让包文件也上传到仓库中,但是每次用sourcetree都会在暂存中显示。点击提交后,先暂存,提交到本地仓库同步。需要获得云端仓库的代码时,先点击获取更新本地仓库的信息(与云端同步),最后点击拉取,本地项目文件即可更新。在Gitee中新建好你的仓库,找到本地项目,弹出窗口点击“是”。
2024-06-10 23:41:49
617
1
原创 【C# GDAL】GDAL库、GeoTiff图像提取信息学习
VS2022工具–NuGet包管理器–管理解决方案的NuGet程序包,直接安装GDAL包。并且直接用应用到当前的控制台程序中。
2024-05-24 02:30:00
390
原创 【Python整理】 Python知识点复习
在Python中的类定义里,() 方法是一个特殊的方法,称为类的构造器。在这个方法中,通常会初始化那些需要随着对象实例化而存在的实例变量。使用 self 是一种约定俗成的方式来引用实例本身。这里有一些关键点:并不是() 中声明的所有变量都必须以 self 开头。以 self 开头的变量是实例变量,它们对每一个类的实例都是唯一的。但是,你也可以在() 中声明局部变量,它们不以 self 开头,仅在这个方法的执行过程中存在。只有那些需要跨方法在类实例之间共享的变量应该使用 self 前缀。
2024-04-01 10:26:04
647
原创 【深度学习】深度学习入门以及相关知识
卷积是会对通道数产生影响,而最大池化类似于下采样,不会产生通道数的变化。卷积:卷积每生成一个卷积核,输出结果都会多一个通道数。卷积核的数量决定了输出特征图的通道数。比如:你希望从一个3通道的输入图像生成一个6通道的输出特征图,你可以在卷积层中设置6个卷积核。此外,三通道输入经过一个卷积核操作,得到的是一通道输出(会合并)最大池化:“打马赛克”;放缩下采样。最大池化操作不改变通道数,因此输出特征图的通道数与输入特征图的通道数相同。
2024-03-31 09:58:31
298
原创 【深度学习】基于YOLOv8与DeepSORT实现多目标跟踪
log:2024年3月31日----2024年4月1日:配置环境跑通demo2024年4月18日----
2024-03-30 15:35:48
637
原创 【Office学习】Word参考文献交叉引用之连续引用
通过交叉引用至内容中的【1】和【3】不必多说,关键问题是如何变成[1-3],如果强行删掉两边括号,更新后会恢复原样不说,打印或者转为PDF无法识别到删除的修改。例如。
2024-03-15 19:47:37
842
原创 【rosbag】rosbag命令--查看提取bag中的内容
topics是其中的话题内容,/imu中只写了包含imu的数据,但是imu是9轴的,到底磁力计信息是否包含在其中呢?
2023-12-29 16:03:04
1266
原创 【Git】Ubuntu系统中git可视化代码管理工具
电脑Linux系统为发行版Ubuntu18.04,检查是否安装过git工具。检查终端是否能补全或者终端直接输入git回车:安装git cola可视化工具:可视化工具的优势在于可以避免去记忆一些git的命令行。可惜Windows中有sourcetree,Linux没有。
2023-12-28 16:31:31
2135
原创 【Vins轨迹】pose_graph位姿图加载&&EVO精度评定
这些文件组成了pose_graph这个文件夹。其中pose_graph.txt含有的信息:关键帧id、时间戳、vio的xyz、优化后的xyz、vio的四元数、优化后的四元数、回环到的关键帧id、回环信息(8个)、特征点数量。加载的路径就去pose_graph_save_path中搜索,先打开rviz,再启动yaml配置文件,这时候终端会显示已经加载成功了,rviz中也会有一条黄色的轨迹。其中数据是和vins_no_loop.txt以及vins_loop.txt中的数据是一致的。将中间两个参数置为1.
2023-12-14 21:18:23
541
原创 【实验记录】公共数据集--p2
之前的工作内容总结:1.学习了回环检测、DLoopDetector算法。2.修改了vins-mono将匹配和回环到的图片进行保存。3.找到了一个不是办法的办法来代替pr曲线,指定范围作真值。4.大致了解了DTW地磁匹配算法,关键点是要划分第一圈和第二圈的界限。5.测试zed相机,打算作为真值来参考。6.上海科技大学的公共数据集。
2023-12-08 09:10:12
472
原创 【实验记录】实验设备、真值数据集的采集论文、实验讲述
Android 在所有移动操作系统中拥有最大的市场份额,作为目标平台特别受关注。3.1:可以看出,与显示器屏幕的重投影误差相比,印刷棋盘的误差要打大。其原因大概是由于打印机墨水量较多,打印的纸张上出现了轻微不均匀的波浪。表面不完全平坦导致误差增加两倍以上。现代平板显示器相当好の实现了完美平面的目的。5.2 实验表现由于传感器输入对框架的质量和性能都有直接影响,因此使用公开数据集进行比较没有什么意义。相反,选择了在实际条件下进行测试,将不同的平台暴露在相同的环境条件下。
2023-11-28 15:18:49
503
原创 【实验记录】地磁部分&&论文阅读
计算两个时间序列的相似度,在回环检测中,两个时间序列应该是第一圈和第二圈的时间戳序列,因为slam的两圈是连在一起的,如何从中间拆分?在匹配完成后,两圈的位姿信息如果选取?是将第一圈的赋给第二圈,还是用一个什么求均值的办法?两组数据不需要完全重叠?好像是可以筛选出最小匹配目的:寻找一条从矩阵左上角到右下角的路径,使得路径上的元素和最小。一定是矩阵某个元素的上方、左侧和左上方的元素要取最小,这样得到的最后一个位置的元素和是最小的。
2023-11-19 19:18:43
190
原创 【.lib.dll / .a.so】Windows和Linux两个系统下的库文件
Windows平台下:静态库后缀为.lib,动态库后缀为.dllLinux平台下:静态库格式为lib**.a,动态库格式为lib**.so谈论两者区别之前,需要对程序编译和运行有一个大致认识:代码想要输出结果,需要经过代码编译和可执行程序运行,就是编译和运行(链接)这两步。两种类型的库在其中起着不同的作用,这也就是为什么有时候代码编译通过,但是无法运行(eg:缺失dll)静态库和动态库的区别:静态库在编译过程中就已经引用并链接到了,有问题编译这一步就会报错;
2023-11-11 11:55:18
1604
1
原创 【实验记录】SLAM论文:回环检测
假设当前位置的关键帧是fkc,要判断当前位置是否被遍历过,我们需要将fkc与地图数据库中除非常接近的关键帧之外的所有先前关键帧进行匹配,例如当前位置之前的30个关键帧。虽然基于整体特征的 LCD 方法相对紧凑并且可以有效地测量两个图像的相似性,但它们的描述性不足以处理一些视觉问题,例如部分遮挡或相机旋转,并且对噪声和照明变化更敏感,导致大量的错误检测。对于每个检测到的回环候选,如果候选帧与当前查询帧之间的索引差值小于关键帧的区间数(本文中为30),则认为是真阳性(TP)回环;否则,将被视为误报(FP)。
2023-11-04 22:05:57
561
原创 【C++】写入文件时反复打开新的文件流
在外部声明了一个文件操作对象f后,一着急直接把f.open()写入while循环中的if里面了,写入的文件只有一行数据,但是cout打印的数据是正常的,所以判断为文件的写入方式有问题,f.open()在每次使用的时候都会打开一个新的文件流,会将之前的覆盖掉,所以这就是查看写好的文件只有一行的原因了。
2023-10-16 10:09:14
163
原创 【Ubuntu】Ubuntu18.04终端卡顿、打字延迟问题
在gnome-terminal中,按tab补全是默认开启了“咚咚咚”音效的,在gnome-terminal里把音效关掉就好了,主要是因为按tab时,NVIDIA的视频信号和音频信号有冲突和调用延迟,所以出现了这个问题。或者可以把音频驱动换成除NVIDIA之外的。xfce4-terminal之所以不延迟也是因为它默认不开启tab补全音效。
2023-10-11 20:26:55
1961
1
原创 【实验记录】千万别碰SLAM,会变得不幸--p1
实验”也做了很多了,就前面两次实验结果来说,效果并不是很好,之前的所有代码都是参考书上demo和自己按照理解来写的,思路比较简单暴力。论文和博客理解的不到位,就比如在打分匹配环节,参考Bags of Binary Words for Fast Place Recognition in Image Sequences这篇文论文中的开源项目(),应该是有很多筛选环节,包括得分归一化、匹配后的分组统计、时间空间一致性,满足以上这些条件,才能被确定为是否回环,而不是简单的帧间打分—>真值对比—>画图。
2023-10-01 20:20:33
540
4
原创 【回环检测】DLoopDetector(C++)代码阅读笔记
最近读了两篇论文,论文作者开源了一种基于词袋模型DBoW2库的DLoopDetector算法,自己运行demo测试一下测试系统为Ubuntu18.04,OpenCV 3.2.0。
2023-10-01 17:31:54
550
2
原创 【Ubuntu】创建桌面快捷方式并固定到docker栏
这个位置我放在:/opt/pycharm-community-2023.2.1/bin/pycharm.sh。2.转到:/usr/share/applications。主要的部分就是可执行程序了,一定要对应好。可执行文件为:pycharm.sh。1.首先需要找到软件的。
2023-09-12 12:38:03
586
原创 【win11+vs 2017+OpenCV4.5.5+Qt5.12配置】详细安装过程+小问题解决
由于Qt5无法与最新的vs2022兼容,扩展工具中一直显示不可用,所以将vs降级成vs2017。在安装Qt的过程中,会选择安装Qt套件,其中就的MCVS 2017,说明vs2017是与qt兼容的。当然也可以用qt creator这一原生IDE。OpenCV版本目前是最新的4.8.0,使用过程中没有什么问题,但是还是安装低版本大概率避免一些玄学问题。
2023-08-01 10:25:55
2167
3
原创 【opencv学习】bar进度条改变颜色
该行是将传递给回调函数的usrdata参数转换为Mat类型的指针,并通过解引用操作符*将其赋值给img变量。这样做的目的是获取到传递给回调函数的图像数据,以便对图像进行操作。
2023-07-28 22:22:33
120
原创 【opencv学习】鼠标回调函数、鼠标控制画矩形
1.回调函数可以简单理解为一边做一件事的同时做另一件事,优化之前的实现完一个函数后才实现另一个的问题。2.实现一个矩形rec只需要知道一个左上角的坐标和宽高即可实例化对象。鼠标回调函数就是一边鼠标操作画图,一边显示画出的图像。
2023-07-28 21:06:09
520
原创 【opencv学习】椒盐噪声
rand()函数是C++中的随机数生成函数,它返回一个伪随机整数。使用%运算符对rand()函数返回的随机整数进行取余数运算,可以将其限制在一个特定的范围内。同样地,rand() % image.rows可以生成一个在0到image.rows-1之间的随机整数,保证它在图像的行数范围内。通过rand() % image.cols可以生成一个在0到image.cols-1之间的随机整数,保证它在图像的列数范围内。//取余数运算,保证在图像的列数内。//取余数运算,保证在图像的行数内。
2023-07-27 10:56:41
245
原创 【opencv学习】像素遍历取反
1.注意的点就是在取反函数inverse_color中,对于三通道bgr要加一个引用&来修改原值,否则只是修改值,在局部函数结束后原图像没有修改。2.vec3b是一个内置容器,存放一个三维向量。img.at(i, j)获得当前位置的三通道信息,后面跟【0】,【1】,【2】分别是B,G,R。3.读取图像韩式imread是返回一个对象来接收,imwrite返回的是一个bool值,不需要对象来接收,可以用if来判断是否成功。
2023-07-24 15:54:05
99
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人