- 博客(295)
- 资源 (12)
- 收藏
- 关注

原创 c++常用代码(持续更新)
#include<iostream>#include<string>#include<chrono>voidRun(){ for(inti=0;i<1000000000;++i) { }}intmain(){ autobeforeTime=std::chrono::steady_clock::now(); Run(); autoafterTime=std::chrono::steady_.
2021-06-29 10:52:34
20016

原创 python常用程序代码(持续更新收集)
文件夹遍历和文件遍历# 遍历文件夹和文件,返回文件的路径和对应的文件的名称,同时可以根据自己的应用需要进行更改def get_img_file(file_name): imagelist = [] for parent, dirnames, filenames in os.walk(file_name): for filename in filenames: if filename.lower().endswith(('.bmp', '.dib
2021-02-25 16:12:24
8601
1

原创 本科+研究生七年之痒,我的经历希望能给你启发和坚持
总结本应该在功成名就以后才来书写,但是我相信我的未来不是梦,我相信未来一定有一片属于我的天空。(纯属记录一下学生时代的经历,多年后在回顾,会不会感谢这7年的自己呢?值得期待)本科阶段认清篇 2013年参加高考后(发挥失常),感觉自己无望了,但是最后还是上了末尾的二本。进入大学时代后,在大一时,我和其他同学一样,完全放纵了自己,电影不停的看,剧不停的刷,这样过了一学期,这样的生活感觉很无味,在暑假思考了自己的人生,思考自己以后想干什么,会干什么,会不会毕业就失业。深层次的分析...
2020-06-16 22:36:59
7987
43
原创 QT--组合框 QComboBox ,微调框 QSpinBox,滑动条 QSlider, 进度条 QProgressBar
QComboBox、QSpinBox、QSlider和QProgressBar是四种常见的控件,它们各自有不同的用途和特性。
2024-10-17 21:00:00
2160
原创 QT--单选按钮(QRadioButton)和复选按钮(QCheckBox)
QRadioButton(单选按钮)用于在一组选项中选择一个。组内的按钮是互斥的。适用于需要用户在多个选项中选择一个的场合。QCheckBox(复选按钮)用于在多个选项中进行独立选择。每个按钮都是独立的,选中一个不会影响其他按钮的状态。适用于需要用户选择多个选项或启用/禁用某些设置的场合。
2024-10-16 23:15:00
3296
原创 QT--文本框 QLineEdit、qtextedit
QLabel用于显示静态文本或图像,不可编辑,适用于需要仅显示信息的场合。QLineEdit用于输入和编辑单行文本,适用于需要用户输入单行数据的场合。QTextEdit用于输入和编辑多行文本,适用于需要用户输入长文本或富文本的场合。这里对QLineEdit进行例子测试。
2024-10-16 22:45:00
3466
原创 QT--Qlabel学习、获取文本和设置文本、文本对齐方式、文本换行、显示图片
QLabel是Qt中的标签类,通常用于显示提示性的文本,也可以显示图像。
2024-10-16 21:00:00
2650
原创 QT--QWidget的使用、获取窗体的几何信息、设置窗口大小、设置窗口固定大小、设置窗口最小大小、设置窗口最大大小、移动窗口、设置窗口标题、设置窗口的icons
通过实现以下的功能进行学习QWidget的相关功能和用法所有窗口类的基类Qt 中有 3 个窗口的基类:QWidget、QMainWindow、QDialog在创建 Qt 工程时,会让我们选择继承自哪一个窗口类其中,QMainWindow、QDialog 都是继承自 QWidge所有控件类的基类Qt 中的控件类(按钮、输入框、单选框等)也属于窗口类它们的基类也是 QWidget;可以内嵌到其他窗口的内部,此时需要给其指定父窗口;可以作为独立的窗口显示,此时不能给其指定父窗口;
2024-10-15 21:00:00
2354
原创 QT--自定义信号槽、信号槽的连接方式、信号槽扩展、一个信号连接两个槽函数、多个信号连接一个槽函数、信号连接信号、断开连接
QObjectQ_OBJECT只有满足了这两个条件才可以正常使用信号槽机制接下来,我们通过一个案例,演示自定义信号槽的使用。案例:“长官” (Commander)发送一个 “冲” (go) 的信号,然后 “士兵" (Soldier)执行“ 战斗” (fight) 的槽函数和soldier.h 和 soldier.cpp。
2024-10-14 19:49:54
2203
转载 QT--标准信号槽
首先看一下什么是事件和信号以 QPushButton 的单击事件为例:按下按钮,会触发 mousePressEvent 事件,然后 QPushButton 会发射 pressed() 信号;松开按钮,会触发 mouseReleaseEvent 事件,然后 QPushButton 会发射 released() 信号和 clicked() 信号常用的事件有很多,比如鼠标的单击和双击事件,鼠标的移动事件,键盘的输入事件等。事件会专门在后边进行讲解。
2024-10-14 19:13:02
1449
原创 opencv--findcontour的实际用法
c++ opencv 对于一张二值化的图片,每个对象的轮廓可能只有父轮廓,也可能有多个子轮廓,希望只获取最外层轮廓和最外层对应的子轮廓,至于内部嵌套的轮廓就不要了这个需求怎么操作呢?
2024-09-06 22:30:00
1853
原创 opencv--使用opencv实现旋转角度的模板匹配
下面的例子是简单的使用opencv 实现的模板匹配流程,其中时间性能和精确度还需要调整,如果直接使用会出问题,所以这个只是例子,根据代码原理可以实现尺度变化的模板匹配和旋转尺度变化同时,具体根据实现的旋转代码进一步实现,但是就结果而言和halcon的模板匹配差距较大,性能更不行,因此仅供参考。
2024-06-06 10:18:07
3079
原创 机器视觉检测--镜头
简单讲镜头就是在其一端收集物体的光线,并将光线在另一端汇聚为实像,并投影到接收面的物体。此时,汇集光线的点称为焦点,镜头中心到焦点的距离称为焦点距离。当镜头为凸镜时,焦点距离将根据镜头的厚度(膨胀)程度不同而各不相同,膨胀程度越大焦点距离越短。
2024-06-03 14:04:52
2142
原创 机器视觉检测--颜色
颜色是通过眼、脑和我们的生活经验所产生的一种对光的视觉效应,我们肉眼所见到的光线,是由波长范围很窄的电磁波产生的,不同波长的电磁波表现为不同的颜色,对色彩的辨认是肉眼受到电磁波辐射能刺激后所引起的一种视觉神经的感觉。颜色具有三个特性,即色相,饱和度和明亮度。简单讲就是光线照到物体,反射到眼中的部分被大脑感知,引起的一种感觉。通过色相(Hue)、饱和度(Saturation)和明亮度(Value)来表示,即我们常说的HSV。当然,颜色有不止一种表示方法,RGB三原色也是另外一种表示方法。
2024-06-03 13:57:49
2041
原创 机器视觉检测--光源
而且,来自工件的光线越远,不能接受到的漫反射光就越多,形成更大的图像对比度和清晰度。当然对于特殊的应用,也有很多种尺寸和形状的定制光源,有配合线扫描相机的线性光源,配合2.5D相机的多方向发光光源,配合贴片检测的多色AOI光源等等。但低角度光源从很小的角度将光线直接照射到工件上,由于光的方向几乎与表面平行,所以表面高度的变化都会改变到CCD 的光路,从而突出变化。和同轴光源的平行照射的理念正好相反,通过从小角度或几乎平行的角度照射LED,可仅突出边缘,轮廓或者表面的缺陷划伤。
2024-06-03 13:56:43
2365
原创 机器视觉检测--相机
也就是说,像素直径与像素间距的值是一样的。电脑中的图像,是通过像素(或者称为PIXEL)这一规则排列的点的集合进行表现的。(详细介绍请参考之前历史文章)通过控制光源从不同角度照明,得到图像凹凸信息产生的阴影图像,而最后合成计算得到3D信息的图像(注:高度“Z”方向不能定量测量,所以叫2.5D)。双目立体视觉是指用两台性能相当、位置固定的CCD摄像机, 获取同一景物的两幅图像,通过两个摄像头所获取的二维图像,来计算出景物的三维信息。快门速度越快,则元件的受光量越少,相反如果快门速度越慢,则元件的受光量越多。
2024-06-03 13:48:28
2906
2
转载 Halcon--二值化算子dual_threshold和var_threshold的理解
Halcon中阈值二值化的算子众多,通常用得最多的有等。是最简单的阈值分割算子,理解最为简单;是自动阈值算子,它可以自动选出暗(dark)的区域,或者自动选出亮(light)的区域,理解起来也没有难度。动态阈值算子理解起来稍微复杂一点,使用算子的步骤基本是这样的:① 将原图进行滤波平滑处理。② 用原图和平滑后的图逐个像素做比较,它可以根据参数分割出原图比平滑后的图灰度高(或者低)若干个灰度值的区域。
2024-05-28 12:38:14
2073
1
原创 opencv--形态学自定义内核提取水平或者竖直直线
可以发现,只要我们合理的设置核函数就可以提取我们想要的形状,不仅仅是水平直线和竖直直线,其他形状也是可以的,例如倾斜45度的直线,圆弧等等,只要设置好核函数即可。
2024-05-27 09:54:22
2332
原创 opencv--形态学击中击不中
如果上面的话理解起来有些晦涩的话,我个人的理解是:定义一个待匹配的核,其中核内元素值为1,表示该位置需要匹配前景(白色);使用该核对源图像扫描后,若匹配上述规则,在锚点位置记为255(非0),若不匹配,则锚点位置记为0,最后得到的结果就是输出图像。总结一下击中和击不中,简单来说这个形态学操作就是选择你想要的形状,例如二值化后有很多的点,如果我只想保留符合要求的形状的二值化,此时该操作很有效,你可以根据自己遇到的情况设计结构元即可。3、将步骤1与步骤2的结果进行和操作(AND),即为输出结果。
2024-05-24 16:33:28
1821
2
原创 制作coco类型数据集
COCO数据集是一个大型的、丰富的物体检测,分割和字幕数据集。这个数据集以scene understanding(场景理解)为目标,主要从复杂的日常场景中截取,图像中的目标通过精确的segmentation(分割)进行位置的标定。图像包括91类目标,328,000影像和2,500,000个label。是目前为止有语义分割的最大数据集,提供的类别有80类,有超过33万张图片,其中20万张有标注,整个数据集中个体的数目超过150万个。
2024-05-16 09:27:47
1782
1
原创 视觉大模型--DAB-deter的深入理解
以上就是DAB的整体结构和思路,该模型给我的感觉在于,清晰的解释了pose_query的含义,同时对于位置的回归和融入进行了各种的转换,给我的感觉是,原来query可以这样用,而且使用wh对attention进行约束,他不是直接作用attention,而是通过输入的Q进行,而尺度的计算通过位置query和内容query对位置的回归进行规范化,然后作用embeding,最后和Q进行拼接形成最终的输入,这一套思路可以来上是神来之笔,很清晰,很明了,而且都是可学习的,这里后续就可以做很多操作了。
2024-04-08 20:30:00
575
原创 视觉大模型--deter的深入理解
但对于transformer用于目标检测领域的开创性模型,该模型言简意赅,但是但从论文理解,有很多细节都不清楚,尤其是解码器的query和二分图匹配(Bipartite Matching)和匈牙利算法(Hungarian Algorithm)相关,本文将根据代码详细介绍这一部分。
2024-04-03 20:00:00
2118
原创 视觉大模型学习路径
本文只是从全局角度出发梳理学习过程,现阶段不会针对每一步写文章,工作没什么时间,但是会梳理自己的学习过程和一些好的参考文章。后面有时间再系统梳理每个模型。
2024-03-28 16:36:48
583
原创 transformer--使用transformer构建语言模型
以一个符合语言规律的序列为输入,模型将利用序列间关系等特征,输出一个在所有词汇上的概率分布.这样的模型称为语言模型.
2024-03-09 21:23:27
1220
原创 transformer--transformer模型构建和测试
针对数字序列进行学习,学习的最终目标是使输出与输入的序列相同.如输入[1,5,8,9,3],输出也是[1,5,8,9,3].
2024-03-04 19:00:00
1562
原创 transformer--解码器
解码器的作用:根据编码器的结果以及上一次预测的结果,对下一次可能出现的值进行特征表示。使最后一维的向量中的数字缩放到0-1的概率值域内,并满足他们的和为1。通过对上一步的线性变化得到指定维度的输出,也就是转换维度的作用,测试代码放到最后代码。
2024-03-01 12:36:01
1344
原创 opencv--使用直方图找谷底进行确定分割阈值
有时这两个峰值会有部分重叠,即左侧峰值的下降部分和右侧峰值的上升部分存在叠加。通常可以把自然界的信号看做高斯信号,即一个峰值对应一个高斯信号,当直方图中的两个高斯信号在某个灰度区域叠加的时候,其叠加区就形成了一个圆滑的谷底,就很难找到一个确切的位置(最优二值化的灰度值)把这两个峰值分开。前景使得某个灰度区间的灰度值的数量急剧增加,就会产生一个峰值,同理背景会使另一个灰度区间的灰度值的数量急剧增加,就产生另外一个峰值,两峰间的谷底对应于物体边缘附近相对较少数目的像素点。直方图原理就不说了,大家自行百度。
2024-02-29 19:30:00
1309
原创 transformer--编码器2(前馈全连接层、规范化层、子层链接结构、编码器层、编码器)
如图所示,输入到每个子层以及规范化层的过程中,还使用了残差链接(跳跃连接),因此我们把这一部分结构整体叫做子层连接(代表子层及其链接结构),在每个编码器层中,都有两个子层,这两个子层加上周围的链接结构就形成了两个子层连接结构.
2024-02-29 16:55:28
1739
原创 transformer--编码器1(掩码张量、注意力机制、多头注意力机制)
掩代表遮掩,码就是我们张量中的数值,它的尺寸不定,里面一般只有1和0的元素,代表位置被遮掩或者不被遮掩,至于是0位置被遮掩还是1位置被遮掩可以自定义,因此它的作用就是让另外一个张量中的一些数值被遮掩,也可以说被替换,它的表现形式是一个张量.
2024-02-28 18:07:03
3167
原创 pcl--第十二节 2D和3D融合和手眼标定
截止目前为止,我们学习了机器人学,学习了2D和3D视觉算法。我们也学习了2D相机(图像数据的来源)和3D相机(点云数据的来源)工作原理。实际上,我们最终要做的,是一个手眼机器人系统。在这个系统里,相机与机器人构成了两个非常关键的部分,它们之间需要密切配合,因此,它们之间的关系,也就非常重要。确定相机与机器人之间的关系,这是手眼标定要解决的问题。另一方面,在很多场合,为了增强算法的鲁棒性,我们通常同时使用图像数据与点云数据,这又涉及到2D与3D配准的问题。
2023-09-22 23:30:00
1170
1
原创 pcl--第十一节 点云外接立方体和点云模板匹配
包围体(包容盒)是一个简单的几何空间,里面包含着复杂形状的物体。为物体添加包围体的目的是快速的进行碰撞检测或者进行精确的碰撞检测之前进行过滤(即当包围体碰撞,才进行精确碰撞检测和处理)。包围体类型包括球体、轴对齐包围盒(AABB)、有向包围盒(OBB)、8-DOP以及凸壳(CONVEX HULL)。如上图所示,还有K-DOP,CONVEX HULL等包容盒,越靠右,包容效果好、越紧密。该类还允许提取云的轴对齐和定向的边界框。黄色立方体为AABB包容盒,白色立方体为OBB包容盒。
2023-09-22 21:15:00
1225
原创 pcl--第十节 点云曲面重建
曲面重建技术在逆向工程、数据可视化、机器视觉、虚拟现实、医疗技术等领域中得到了广泛的应用。例如,在汽车、航空等工业领域中,复杂外形产品的设计仍需要根据手工模型,采用逆向工程的手段建立产品的数字化模型,根据测量数据建立人体以及骨骼和器官的计算机模型,在医学、定制生产等方面都有重要意义。除了上述传统的行业,随着新兴的廉价 RGBD 获取设备在数字娱乐行业的病毒式扩展,使得更多人开始使用点云来处理对象并进行工程应用。根据重建曲面和数据点云之间的关系,可将曲面重建分为两大类:插值法和逼近法。
2023-09-22 19:30:00
1814
原创 pcl--第九节 点云分割
点云分割是根据空间、几何和纹理等特征对点云进行划分,使得同一划分区域内的点云拥有相似的特征。点云的有效分割往往是许多应用的前提。例如,在逆向工程CAD/CAM 领域,对零件的不同扫描表面进行分割,然后才能更好地进行孔洞修复、曲面重建、特征描述和提取,进而进行基于 3D内容的检索、组合重用等。在激光遥感领域,同样需要对地面、物体首先进行分类处理,然后才能进行后期地物的识别、重建。
2023-09-21 21:45:00
1101
原创 pcl--第八节 点云配准数学原理
注意!不要求能够推导、证明算法论文,因为这是理论研究者的重心。这不是我们应用型人才的重心,我们的重心是能够将理论更好的应用于实践。一定要有的放矢,提升自己的核心价值。
2023-09-21 19:45:00
343
编译DCNv2网络:error: command 'C:\\Program Files\\NVIDIAGPUComputingToolkit\\CUDA\\v1
2020-11-20
Xshell 5 Build 1339 + Xftp 5 Build 1235
2020-10-21
c#联合halcon开发实战教程.txt
2020-02-12
3D视觉、点云、三维重建.txt
2020-02-10
机器视觉光源介绍和镜头介绍.rar
2020-02-10
Halcon实战视频教程,超人视觉,初级和高级版视频,无密码高清
2020-02-09
很完整的发明专利申请文件完整版模板.rar
2019-11-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人