- 博客(287)
- 资源 (12)
- 收藏
- 关注
原创 c++常用代码(持续更新)
#include <iostream>#include <string>#include <chrono>void Run(){ for (int i = 0; i < 1000000000; ++i) { }}int main(){ auto beforeTime = std::chrono::steady_clock::now(); Run(); auto afterTime = std::chrono::steady_.
2021-06-29 10:52:34 19304
原创 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 8347 1
原创 本科+研究生七年之痒,我的经历希望能给你启发和坚持
总结本应该在功成名就以后才来书写,但是我相信我的未来不是梦,我相信未来一定有一片属于我的天空。(纯属记录一下学生时代的经历,多年后在回顾,会不会感谢这7年的自己呢?值得期待)本科阶段认清篇 2013年参加高考后(发挥失常),感觉自己无望了,但是最后还是上了末尾的二本。进入大学时代后,在大一时,我和其他同学一样,完全放纵了自己,电影不停的看,剧不停的刷,这样过了一学期,这样的生活感觉很无味,在暑假思考了自己的人生,思考自己以后想干什么,会干什么,会不会毕业就失业。深层次的分析...
2020-06-16 22:36:59 7854 43
原创 opencv--findcontour的实际用法
c++ opencv 对于一张二值化的图片,每个对象的轮廓可能只有父轮廓,也可能有多个子轮廓,希望只获取最外层轮廓和最外层对应的子轮廓,至于内部嵌套的轮廓就不要了这个需求怎么操作呢?
2024-09-06 22:30:00 378
原创 opencv--使用opencv实现旋转角度的模板匹配
下面的例子是简单的使用opencv 实现的模板匹配流程,其中时间性能和精确度还需要调整,如果直接使用会出问题,所以这个只是例子,根据代码原理可以实现尺度变化的模板匹配和旋转尺度变化同时,具体根据实现的旋转代码进一步实现,但是就结果而言和halcon的模板匹配差距较大,性能更不行,因此仅供参考。
2024-06-06 10:18:07 1116
原创 机器视觉检测--镜头
简单讲镜头就是在其一端收集物体的光线,并将光线在另一端汇聚为实像,并投影到接收面的物体。此时,汇集光线的点称为焦点,镜头中心到焦点的距离称为焦点距离。当镜头为凸镜时,焦点距离将根据镜头的厚度(膨胀)程度不同而各不相同,膨胀程度越大焦点距离越短。
2024-06-03 14:04:52 673
原创 机器视觉检测--颜色
颜色是通过眼、脑和我们的生活经验所产生的一种对光的视觉效应,我们肉眼所见到的光线,是由波长范围很窄的电磁波产生的,不同波长的电磁波表现为不同的颜色,对色彩的辨认是肉眼受到电磁波辐射能刺激后所引起的一种视觉神经的感觉。颜色具有三个特性,即色相,饱和度和明亮度。简单讲就是光线照到物体,反射到眼中的部分被大脑感知,引起的一种感觉。通过色相(Hue)、饱和度(Saturation)和明亮度(Value)来表示,即我们常说的HSV。当然,颜色有不止一种表示方法,RGB三原色也是另外一种表示方法。
2024-06-03 13:57:49 499
原创 机器视觉检测--光源
而且,来自工件的光线越远,不能接受到的漫反射光就越多,形成更大的图像对比度和清晰度。当然对于特殊的应用,也有很多种尺寸和形状的定制光源,有配合线扫描相机的线性光源,配合2.5D相机的多方向发光光源,配合贴片检测的多色AOI光源等等。但低角度光源从很小的角度将光线直接照射到工件上,由于光的方向几乎与表面平行,所以表面高度的变化都会改变到CCD 的光路,从而突出变化。和同轴光源的平行照射的理念正好相反,通过从小角度或几乎平行的角度照射LED,可仅突出边缘,轮廓或者表面的缺陷划伤。
2024-06-03 13:56:43 639
原创 机器视觉检测--相机
也就是说,像素直径与像素间距的值是一样的。电脑中的图像,是通过像素(或者称为PIXEL)这一规则排列的点的集合进行表现的。(详细介绍请参考之前历史文章)通过控制光源从不同角度照明,得到图像凹凸信息产生的阴影图像,而最后合成计算得到3D信息的图像(注:高度“Z”方向不能定量测量,所以叫2.5D)。双目立体视觉是指用两台性能相当、位置固定的CCD摄像机, 获取同一景物的两幅图像,通过两个摄像头所获取的二维图像,来计算出景物的三维信息。快门速度越快,则元件的受光量越少,相反如果快门速度越慢,则元件的受光量越多。
2024-06-03 13:48:28 1400 2
转载 Halcon--二值化算子dual_threshold和var_threshold的理解
Halcon中阈值二值化的算子众多,通常用得最多的有等。是最简单的阈值分割算子,理解最为简单;是自动阈值算子,它可以自动选出暗(dark)的区域,或者自动选出亮(light)的区域,理解起来也没有难度。动态阈值算子理解起来稍微复杂一点,使用算子的步骤基本是这样的:① 将原图进行滤波平滑处理。② 用原图和平滑后的图逐个像素做比较,它可以根据参数分割出原图比平滑后的图灰度高(或者低)若干个灰度值的区域。
2024-05-28 12:38:14 377
原创 opencv--形态学自定义内核提取水平或者竖直直线
可以发现,只要我们合理的设置核函数就可以提取我们想要的形状,不仅仅是水平直线和竖直直线,其他形状也是可以的,例如倾斜45度的直线,圆弧等等,只要设置好核函数即可。
2024-05-27 09:54:22 853
原创 opencv--形态学击中击不中
如果上面的话理解起来有些晦涩的话,我个人的理解是:定义一个待匹配的核,其中核内元素值为1,表示该位置需要匹配前景(白色);使用该核对源图像扫描后,若匹配上述规则,在锚点位置记为255(非0),若不匹配,则锚点位置记为0,最后得到的结果就是输出图像。总结一下击中和击不中,简单来说这个形态学操作就是选择你想要的形状,例如二值化后有很多的点,如果我只想保留符合要求的形状的二值化,此时该操作很有效,你可以根据自己遇到的情况设计结构元即可。3、将步骤1与步骤2的结果进行和操作(AND),即为输出结果。
2024-05-24 16:33:28 326 2
原创 制作coco类型数据集
COCO数据集是一个大型的、丰富的物体检测,分割和字幕数据集。这个数据集以scene understanding(场景理解)为目标,主要从复杂的日常场景中截取,图像中的目标通过精确的segmentation(分割)进行位置的标定。图像包括91类目标,328,000影像和2,500,000个label。是目前为止有语义分割的最大数据集,提供的类别有80类,有超过33万张图片,其中20万张有标注,整个数据集中个体的数目超过150万个。
2024-05-16 09:27:47 1241 1
原创 视觉大模型--DAB-deter的深入理解
以上就是DAB的整体结构和思路,该模型给我的感觉在于,清晰的解释了pose_query的含义,同时对于位置的回归和融入进行了各种的转换,给我的感觉是,原来query可以这样用,而且使用wh对attention进行约束,他不是直接作用attention,而是通过输入的Q进行,而尺度的计算通过位置query和内容query对位置的回归进行规范化,然后作用embeding,最后和Q进行拼接形成最终的输入,这一套思路可以来上是神来之笔,很清晰,很明了,而且都是可学习的,这里后续就可以做很多操作了。
2024-04-08 20:30:00 510
原创 视觉大模型--deter的深入理解
但对于transformer用于目标检测领域的开创性模型,该模型言简意赅,但是但从论文理解,有很多细节都不清楚,尤其是解码器的query和二分图匹配(Bipartite Matching)和匈牙利算法(Hungarian Algorithm)相关,本文将根据代码详细介绍这一部分。
2024-04-03 20:00:00 1927
原创 视觉大模型学习路径
本文只是从全局角度出发梳理学习过程,现阶段不会针对每一步写文章,工作没什么时间,但是会梳理自己的学习过程和一些好的参考文章。后面有时间再系统梳理每个模型。
2024-03-28 16:36:48 418
原创 transformer--使用transformer构建语言模型
以一个符合语言规律的序列为输入,模型将利用序列间关系等特征,输出一个在所有词汇上的概率分布.这样的模型称为语言模型.
2024-03-09 21:23:27 1137
原创 transformer--transformer模型构建和测试
针对数字序列进行学习,学习的最终目标是使输出与输入的序列相同.如输入[1,5,8,9,3],输出也是[1,5,8,9,3].
2024-03-04 19:00:00 1272
原创 transformer--解码器
解码器的作用:根据编码器的结果以及上一次预测的结果,对下一次可能出现的值进行特征表示。使最后一维的向量中的数字缩放到0-1的概率值域内,并满足他们的和为1。通过对上一步的线性变化得到指定维度的输出,也就是转换维度的作用,测试代码放到最后代码。
2024-03-01 12:36:01 1158
原创 opencv--使用直方图找谷底进行确定分割阈值
有时这两个峰值会有部分重叠,即左侧峰值的下降部分和右侧峰值的上升部分存在叠加。通常可以把自然界的信号看做高斯信号,即一个峰值对应一个高斯信号,当直方图中的两个高斯信号在某个灰度区域叠加的时候,其叠加区就形成了一个圆滑的谷底,就很难找到一个确切的位置(最优二值化的灰度值)把这两个峰值分开。前景使得某个灰度区间的灰度值的数量急剧增加,就会产生一个峰值,同理背景会使另一个灰度区间的灰度值的数量急剧增加,就产生另外一个峰值,两峰间的谷底对应于物体边缘附近相对较少数目的像素点。直方图原理就不说了,大家自行百度。
2024-02-29 19:30:00 990
原创 transformer--编码器2(前馈全连接层、规范化层、子层链接结构、编码器层、编码器)
如图所示,输入到每个子层以及规范化层的过程中,还使用了残差链接(跳跃连接),因此我们把这一部分结构整体叫做子层连接(代表子层及其链接结构),在每个编码器层中,都有两个子层,这两个子层加上周围的链接结构就形成了两个子层连接结构.
2024-02-29 16:55:28 1319
原创 transformer--编码器1(掩码张量、注意力机制、多头注意力机制)
掩代表遮掩,码就是我们张量中的数值,它的尺寸不定,里面一般只有1和0的元素,代表位置被遮掩或者不被遮掩,至于是0位置被遮掩还是1位置被遮掩可以自定义,因此它的作用就是让另外一个张量中的一些数值被遮掩,也可以说被替换,它的表现形式是一个张量.
2024-02-28 18:07:03 2532
原创 pcl--第十二节 2D和3D融合和手眼标定
截止目前为止,我们学习了机器人学,学习了2D和3D视觉算法。我们也学习了2D相机(图像数据的来源)和3D相机(点云数据的来源)工作原理。实际上,我们最终要做的,是一个手眼机器人系统。在这个系统里,相机与机器人构成了两个非常关键的部分,它们之间需要密切配合,因此,它们之间的关系,也就非常重要。确定相机与机器人之间的关系,这是手眼标定要解决的问题。另一方面,在很多场合,为了增强算法的鲁棒性,我们通常同时使用图像数据与点云数据,这又涉及到2D与3D配准的问题。
2023-09-22 23:30:00 1043 1
原创 pcl--第十一节 点云外接立方体和点云模板匹配
包围体(包容盒)是一个简单的几何空间,里面包含着复杂形状的物体。为物体添加包围体的目的是快速的进行碰撞检测或者进行精确的碰撞检测之前进行过滤(即当包围体碰撞,才进行精确碰撞检测和处理)。包围体类型包括球体、轴对齐包围盒(AABB)、有向包围盒(OBB)、8-DOP以及凸壳(CONVEX HULL)。如上图所示,还有K-DOP,CONVEX HULL等包容盒,越靠右,包容效果好、越紧密。该类还允许提取云的轴对齐和定向的边界框。黄色立方体为AABB包容盒,白色立方体为OBB包容盒。
2023-09-22 21:15:00 1042
原创 pcl--第十节 点云曲面重建
曲面重建技术在逆向工程、数据可视化、机器视觉、虚拟现实、医疗技术等领域中得到了广泛的应用。例如,在汽车、航空等工业领域中,复杂外形产品的设计仍需要根据手工模型,采用逆向工程的手段建立产品的数字化模型,根据测量数据建立人体以及骨骼和器官的计算机模型,在医学、定制生产等方面都有重要意义。除了上述传统的行业,随着新兴的廉价 RGBD 获取设备在数字娱乐行业的病毒式扩展,使得更多人开始使用点云来处理对象并进行工程应用。根据重建曲面和数据点云之间的关系,可将曲面重建分为两大类:插值法和逼近法。
2023-09-22 19:30:00 1433
原创 pcl--第九节 点云分割
点云分割是根据空间、几何和纹理等特征对点云进行划分,使得同一划分区域内的点云拥有相似的特征。点云的有效分割往往是许多应用的前提。例如,在逆向工程CAD/CAM 领域,对零件的不同扫描表面进行分割,然后才能更好地进行孔洞修复、曲面重建、特征描述和提取,进而进行基于 3D内容的检索、组合重用等。在激光遥感领域,同样需要对地面、物体首先进行分类处理,然后才能进行后期地物的识别、重建。
2023-09-21 21:45:00 1011
原创 pcl--第八节 点云配准数学原理
注意!不要求能够推导、证明算法论文,因为这是理论研究者的重心。这不是我们应用型人才的重心,我们的重心是能够将理论更好的应用于实践。一定要有的放矢,提升自己的核心价值。
2023-09-21 19:45:00 301
原创 pcl--第七节 点云配准
随着计算机辅助设计技术的发展,通过实物模型产生数字模型的逆向工程技术获得了越来越广泛的应用,与此同时,硬件设备的日趋完善也为数字模型操作提供了足够的技术支持。 由于三维扫描仪设备受到测量方式和被测物体形状的条件限制,一次扫描往往只能获取到局部的点云信息,进而需要进行多次扫描,然后每次扫描时得到的点云都有独立的坐标系,不可以直接进行拼接。在逆向工程、计算机视觉、文物数字化等领域中,由于点云的不完整、旋转错位、平移错位等,使得要得到完整点云就需要对多个局部点云进行配准。
2023-09-20 21:30:00 1285
原创 pcl--第六节 3D特征描述子
特征描述子 Feature Descriptor描述子可以分为以下几种类型:基于不变性的描述子、基于直方图的描述子、二进制描述子PCL主要实现了:NARF特征点描述子、PFH(FPFH)点特征直方图描述子、RoPs 特征、VFH视点特征直方图描述子、GASD全局对齐的空间分布描述子、基于惯性矩和偏心率的描述子。
2023-09-19 23:15:00 452
原创 pcl--第五节 点云表面法线估算
但是,如果比例因子太大(右侧部分),则相邻对象的集合会覆盖来自相邻表面的较大点,则估计的点要素表示会失真,在两个平面边缘处旋转的曲面法线会被涂抹边缘和压制的精细细节。由于数据是2.5维的,即数据只从单一视角获取,其法线也应该仅是一个半球体的扩展高斯图,由于我们没有定下法线的方向,所以这些法线遍布球体。尽管有许多不同的法线估计方法,我们先了解其中最简单也是最常见的一个,确定表面一点法线的问题近似于估计表面的一个相切面法线的问题,因此转换过来以后就变成一个。如前所述,需要根据该点的周围点邻域支持,也称为。
2023-09-19 22:00:00 514
原创 pcl--第五节 特征描述与提取Features
是点云信息处理中的最基础也是最关键的部分,点云的识别、分割、重采样、配准、曲面重建等大部分算法,都十分依赖特征描述与提取的结果。从尺度上来划分,一般分为局部特征描述和全局特征描述。例如局部的法线等几何形状特征的描述,全局的拓扑特征描述,都属于3D点云特征描述与提取范畴。在 PCL 中,目前已有很多基本的特征描述子与提取算法。
2023-09-19 19:30:00 289
原创 pcl--第四节 采样一致性算法RANSAC
RANSAC是“RANdom SAmple Consensus”(随机抽样共识或采样一致性)的缩写,它是一种迭代方法,用于从包含异常值的一组数据中估计数学模型的参数。该算法由Fischler和Bolles于1981年发布。RANSAC算法假定我们要查看的所有数据均由内部值和异常值组成。可以用带有一组特定参数值的模型来解释离群值,而离群值在任何情况下都不适合该模型。其过程可以从数据中估计所选模型的最佳参数。RANSAC是一种随机参数估计算法。
2023-09-15 19:45:00 284
原创 pcl--第三节 关键点
关键点也称为兴趣点,它是 2D 图像或 3D 点云或曲面模型上,可以通过检测标准来获取的具有稳定性、区别性的点集。从技术上来说,关键点的数量比原始点云或图像的数据量少很多,其与局部特征描述子结合组成关键点描述子。常用来构成原始数据的紧凑表示 ,具有代表性与描述性,从而加快后续识别、追踪等对数据的处理速度。固而,关键点提取就成为 2D 与 3D 信息处理中不可或缺的关键技术。提取的过程必须考虑边缘以及物体表面变化信息在内;关键点的位置必须稳定的可以被重复探测,即使换了不同的视角;
2023-09-14 20:30:00 280
原创 pcl--第二节 深度图像RangeImage
目前深度图像的获取方法有激光雷达深度成像法,计算机立体视觉成像,坐标测量机法,莫尔条纹法,结构光法等等,针对深度图像的研究重点主要集中在以下几个方面,深度图像(Depth Images)也被称为距离影像(Range Image),是指将从图像采集器到场景中各点的距离值作为像素值的图像,它直接反应了。,利用它可以很方便的解决3D目标描述中的许多问题,深度图像经过点云变换可以计算为点云数据,有规则及有必要信息的点云数据可以反算为深度图像数据。在PCL 中深度图像与点云最主要的区别在于其。
2023-09-13 19:30:00 310
原创 pcl--第一节 Filters
下图给出了噪声消除的示例。由于测量误差,某些数据集会出现大量阴影点。这使得局部点云 3D 要素的估计变得复杂。其中一些异常值可以通过对每个点的邻域执行统计分析并修剪不符合特定条件的邻域来过滤。PCL 中的稀疏异常值去除实现基于对输入数据集中点到相邻距离分布的计算。对于每个点,将计算从该点到其所有相邻点的平均距离。通过假设生成的分布是具有平均值和标准差的高斯分布,则平均距离超出由全局距离平均值和标准差定义的区间之外的所有点都可以被视为异常值并从数据集中修剪。点云数据密度不规则需要平滑。
2023-09-12 20:45:00 315
编译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关注的人