![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
视觉行业
文章平均质量分 64
爱炸薯条的小朋友
机械专业的图像算法学生
展开
-
halcon瓶身表面缺陷检测-滤波差值法
滤波差值法的核心在于如何对滤波器的选择和测试参数。其中,在有大量噪点的缺陷检测项目和有大量边缘的项目中不适合使用。例如皮质表面脏污检测等。滤波差值法受到边缘和噪点的影响非常大,可以在实际使用中多加尝试即可。原创 2024-04-17 09:59:39 · 546 阅读 · 0 评论 -
halcon-轴断面检测定位
断面检测的核心在于对区域的内接矩形和差值的运用。通过内接矩形剔除细轴的区域,在不断通过差值进行计算即可。原创 2024-04-14 14:03:13 · 569 阅读 · 0 评论 -
Halcon颜色抽取-多产品颜色(MLP)
有不清楚的地方,可以移步前言的链接查看。mlp常用的场景一般都是单颜色区分,相当多时候是在预处理中进行。但是作为项目上,常见于各种颜色有色差的分类。比如产品有色差的情况,也是可以用颜色抽取实现。原创 2024-04-11 23:50:20 · 622 阅读 · 0 评论 -
Halcon颜色提取,基于MLP自动颜色提取功能
算子中的2代表具有2种需要被区分的颜色。如果我们训练里面需要被区分的颜色有多种,那么我们需要修改指定的参数。并且效果显著,主要针对具有物体颜色需要被区分,或者由于打光效果或者来料不稳定造成的图像异常的情况,并且可以通过颜色快速提取特征的方式。第一:先对图像明显的区域进行需要区分的颜色进行选取,还有对背景选取。对于背景的选取,应尽可能的包含常见的元素,有助于大量提升背景的识别效率。需要注意的时查看对应的区域数组。这样子我们就可以避免出现对同颜色的部分,因为打光不均匀造成颜色识别异常的情况。原创 2023-12-26 14:14:38 · 1446 阅读 · 0 评论 -
halcon缺陷检测-印刷品检测(差异化模型),键盘字符缺陷检测
上面其中重点提到了对ROI的选取。核心的关键在于如何去矫正图像,矫正区域。这个图像,由于已经预先固定在一个指定的区域,所以在检测时可以通过ROI去框选检测。而且每个检测区域有着较大的距离,所以在框选ROI时误差相对会比较的少。对于上图而言20个检测区域,实际总共检测耗时在70ms左右。检测速度可以达到相当快,并且检测精度高。原创 2024-04-09 19:22:43 · 2116 阅读 · 1 评论 -
Halcon棋盘格畸变矫正
通常我们使用的相机都是带有一定的畸变的,只是畸变的大小不同。对于我们常见的测量项目来说,对测量精度的要求很高,通常从相机镜头上进行优化,但是即使镜头优化或者成本原因,造成图像仍有一定的畸变时,我们就可是使用棋盘格标定板,进行畸变矫正。原创 2024-03-09 16:59:23 · 1310 阅读 · 0 评论 -
Halcon自动对焦技术验证
由于相当多的产品是具备封装好的软件和机械机构,不能在人为的控制相机的调焦。与此同时,使用的客户有可能为工厂的普工和技术工程师,所以在对客户的培训上有较大的难度,使用一个可以判断当前图像清晰程度的程序可以帮助完成相机的自动对焦。原创 2024-03-09 14:11:54 · 589 阅读 · 0 评论 -
上位机模块之TCP数据解析类
上位机通常会与PLC进行数据通讯在通讯时一般使用16进制与ACS2码进行发送,所以工具类中提供4个方法进行解析数据。1.将字符串集合转换为字节数组,集合为数字(十进制)3.将字符串指定区域的转换为ACS2,其他区域为数字。2.将字符串集合转换为字节数组,集合全为字母。使用方法,全部复制粘贴,创建对象即可使用。4.将字节数组的指定区域转换为字符串。对TCP首发数据提供4个方法。原创 2023-03-29 11:54:08 · 417 阅读 · 1 评论 -
C#上位机之NG选点
使用方式,将NG选点窗口复制到项目中,并链接好完成NG选点按钮控件,和picbox控件。通过使用提前将NG原图保存下来,并将路径传入方法中,在从NG选点窗口中创建的CSV进行获取到数据即可。获取数据经过处理,可以直接输出图像上的坐标而不是控件坐标。在定位项目中,经常会在生产的时候出现模板匹配找不到或者匹配错误的情况,在匹配不正确的时候需要快速人工确认方向,所以就需要一个人工选点的功能——NG选点。原创 2023-03-28 16:24:00 · 229 阅读 · 1 评论 -
C#上位机模块之独立窗口进度条
在上位机开启时,由于需要加载大量的控件,类和相关的文件。所以在加载时需要创建一个独立窗口的进度条用于在加载主窗口前预留一定的时间,并使得上位机更加美观。对进度条窗口进行设置,将图标与边框去除。对进度条设置:属性为public共有。第一步:新建一个窗体类。原创 2023-03-27 16:43:21 · 387 阅读 · 0 评论 -
C#上位机模块之窗体控件随着窗体大小等大变换
在实际的上位机中会经常出现例如拖动框体,或者窗体全屏的情况,但是在绘制窗体的时候往往不能达到全屏状态进行书写。并且在工控机中由于成本控制原因,往往选取价格偏移的设备,或者触摸屏的形式,所以在分辨率不同时也需要对控件等比例放大缩小。所以在程序中设定箱体自动变换大小时,控件跟随变换即可。在窗体中设计大小变换函数即可。原创 2023-03-27 16:37:44 · 1119 阅读 · 0 评论 -
C#上位机模块之CSV存储类
在上位机中,经常会出现将数据存储到本地中,所以我写了一个常用的工具类用于直接调用,快速完成对CSV的存储。方法4在文件多的时候会出现运行时间慢的情况。方法1:对项目debug路径下创建以时间为名字的CSV文件,并写入题头与数据。其中输入数据为:路径(string),题头(List),数据(List)方法1和2:在同一时间传入200个数据时耗时为0.99ms。方法2:对绝对路径创建CSV文件,并写入题头与数据。其中方法1与方法2是重载函数,使用时需要注意。方法4:CSV保存时间,删除超出时间的路径。原创 2023-03-27 16:31:03 · 1590 阅读 · 2 评论 -
手眼标定,9点标定过程及其运算
在工业领域常常会遇到将相机安装在机器手中,由相机快速引导机器手进行工作的方式。其中9点标定的作用是将图像的坐标转化为机器手的坐标。9点标定的作用意义:1.计算像素当量,通过9点标定后的计算,可以得出一个由像素值转化为机器手的移动值的一个变化量。当我们标定完后即可得到一个像素当量的固定值。2.将图像坐标系转化为机器手的同向坐标系。为什么叫做同向坐标系?我们标定的时候,需要将图像坐标与对应的机器手的坐标进行一一对应。原创 2023-01-15 16:52:25 · 13924 阅读 · 5 评论 -
halcon快速模板匹配
快速的找到我们需要的模板,然后对区域进行膨胀,可以直接快速的采集到模板的轮廓,然后对模板进行创建轮廓即可。当我们进行匹配时出现匹配到的图像与我们预先设定的图像有差别时,这时候我们可以对单张图进行多模板匹配原创 2022-12-19 09:42:25 · 1202 阅读 · 0 评论 -
halcon圆查找
圆查找功能本质上圆查找功能是由于大部分时候会出现的模板匹配的精度不佳,对实际的坐标有部分偏差的情况这时候我们可以通过建立测量矩形的形式,对预估点进行多次测量以得到较为精确的轮廓算子除了有圆查找,还有椭圆查找,直线查找,带角度的矩形查找四种方法原创 2022-12-19 09:36:55 · 3775 阅读 · 0 评论 -
机器人与视觉,基于BaseX坐标系的运动偏移
baseX坐标系为机器手的工作坐标系,在示教是直接确定,baseX点在base0坐标系下的点。不仅示教点会发生变化,示教的坐标系baseX也会发生变化,而且由于是绕着baseX进行旋转,所以点相对baseX的坐标不会改变,但是相对base0的坐标会改变,所以我们需要基于base0下的坐标系进行计算,并且直接输出基于base0下的示教坐标。第二步:确定示教点坐标。由于实现多个坐标系的联动情况,那么通常都会伴随着坐标系的移动和旋转,所以我们会设立2个机器人坐标系,一个是机器手的工作坐标系,即为baseX;原创 2022-12-12 15:48:30 · 3112 阅读 · 2 评论 -
机器人与视觉,基于TCP(工具坐标)偏移
基于工具坐标系的移动偏转。基于TCP旋转的特点在于,具有1个固定端点,多个活动端的特点。我们在建立TCP左边偏移的时候,可以将2个点近似的模拟在同一个坐标系下原创 2022-12-10 16:23:10 · 2111 阅读 · 0 评论 -
HPsocketCS,TCP通讯连接与发送
使用HPsocketCS进行TCP的连接与发送。关键地点在连接接受到数据和,发送数据的情况。原创 2022-12-08 10:06:01 · 1526 阅读 · 0 评论 -
根据VM案例仿写上位机的记录和简单参考
首先我保留的控件有:开启VM,关闭VM,单步执行,加载方案,进度条,图像显示,清空消息,关闭方案,还有一个新增的数据表显示。我在上位机中,将加载句柄,注册回调函数,开启VM集成到开启VM的按钮中,我在对路径的选取上都是使用绝对路径进行选取,所以在路径上需要更改一下。然后数据表是可以用来显示我当前运行的job号和我需要输出X坐标Y坐标。还有部分TCP的一个通讯执行程序。原创 2022-11-29 14:11:47 · 705 阅读 · 0 评论 -
VM案例仿写如何进行模块回调结果
我在我上一篇VM的案例讲解中简要的说明了一下VM的重点内容吧。我们在视觉中最重要的是如何获取到视觉处理完后的输出值,例如坐标,角度,颜色代号,工件形状代号等待。我们在使用VM进行书写号程序后,我们则直接在上位机中对指定的模块进行回调结果就行了。这篇博客主要是记录如何通过VM的说明手册和VM的案例仿写模块的回调结果。然后我们这里选取一个格式化结果模块进行仿写,因为这个模块我们很经常用。首先先上仿写的结果原创 2022-11-29 10:02:04 · 371 阅读 · 0 评论 -
C#,Winform,VM联合开发,VM上位机案例全讲解。
这张图是VM的样例参考图,其中包含了我们后面会用到的很多关于上位机的主要内容,一个就是图像显示,内容表的打印,单步执行,加载方案和句柄等等内容。后面我会对VM的案例代码进行一个注释性的讲解,比较的详细,大家在使用的使用可以直接参考复制粘贴即可。但是呢,还是推荐大家作为初学者,了解上位机如何开发的一个好渠道原创 2022-11-29 09:16:02 · 1615 阅读 · 0 评论 -
基于视觉halcon的对pcb元件缺失快速检测参考处理
对于常规的pcb的元件缺失检测大致步骤。第一:售前,需要快速判断元件是贴片,引脚式,常规裸露式,并使用ROI直接进行快速的blob分析,使用特征面积选择即可快速的完成早期评估工作。第二:根据需求判断,是否需要模板匹配单对多还是多对多的处理。第三:实际代码书写,对于模板匹配的输出文件,应以写入新的文件。本次需求:对c6旁边的电阻进行检测是否存在电阻或者电阻脱落的情况原创 2022-05-07 20:06:12 · 1671 阅读 · 3 评论 -
缺陷检测,halcon案例入门篇。
缺陷检测,halcon案例入门篇。常见缺陷:1.凸凹结构(包含小毛刺)。2.内部污点,表面不平整,瑕疵,孔洞,破损,烫伤,油啧。3.划痕。处理方法:打光处理划痕。低角度环形光,把背景打白,划痕打暗 。凸点,使用低角度环形光,把背景打暗,凸点打白。凹点,使用垂直光(可环形),把背景打亮,背景打暗。【可使用条光对打】曲面字体(凸出部),使用瓦装曲型光板,侧面以一定角度打入,可把字体打亮。2. 算法处理Blob分析+特征检测Blob分析+特征+差分频率+空间光度立体法特征训原创 2022-02-27 15:45:23 · 8116 阅读 · 0 评论 -
机器视觉模板匹配,halcon示例讲解,入门篇
总结:入门篇总共列举了,基于相关性的模板匹配和基于形状的模板匹配,其中基于形状的模板匹配中一对多和多对多的情况。直接学习halcon的例程内容方便我们直接学习。基于形状(最常用的。受光照有一定影响)使用ROI区域绘制模板。使用blob分析创建模板。使用CAD导入轮廓创建模板基于相关性(不受光照的影响,但是受图像大小等多种因素影响)原创 2022-02-09 23:16:27 · 6140 阅读 · 3 评论 -
模板匹配中级篇,Halcon实战项目讲解一,基于相关性。
总结:对于模板匹配的相关性匹配而言,他的匹配是基于图像的大小像素的灰度值。意思就是如果我的模板是20*20cm的,匹配样板是30*30的即使我们看的是一样的仍然不能匹配。对于一张图片而言如果所得的图片有所遮挡到我们预先模板的区域也是不能正常识别的。模板匹配比较常用于各类的定位项目,和其他项目的预处理。对于模板匹配而言我们不一定要使用ROI区域可以直接使用blob分析,但是原则都是将我们需要建立模板的图像进行抠图。原创 2022-02-08 22:12:16 · 3040 阅读 · 0 评论 -
机器视觉测量拟合中级篇,halcon实战,measure测量助手
机器视觉测量拟合中级篇,halcon实战测量助手个人学习笔记第一:快速使用measure测量助手进行识别:measure测量助手打开位置进入measure测量助手的首页,第一使用对图像进行读取。第二:图像源选取1.按照要求选取图像源,可以直接对图像窗口进行选取(在实现写好读图程序)。2.图像文件,我们可以直接选取图像文件,在插入代码即可直接使用。3.图像采集助手,这个是需要先使用采集助手进行连接相机,然后使用相机进行实时读取。/****/期望的灰度值范围:一般采取默认值0-255。如果原创 2022-02-07 15:54:25 · 3545 阅读 · 0 评论 -
OCR识别中级篇,Halcon实战项目讲解四,环形字符OCR识别
Halcon程序及其讲解。read_image (Image, ‘D:/shijue/学习笔记/OCR识别/OCR环形字符识别.png’)rgb1_to_gray (Image, GrayImage)threshold (GrayImage, Regions, 0, 222)shape_trans (Regions, RegionTrans, ‘outer_circle’)*外接圆complement (Regions, RegionComplement)*补集connection (Re原创 2022-02-06 22:04:34 · 2429 阅读 · 1 评论 -
OCR识别中级篇,Halcon实战项目讲解三,数显屏OCR识别
OCR识别中级篇,Halcon实战项目讲解三,数显屏OCR识别Halcon程序及其讲解。read_image (Image, ‘D:/shijue/学习笔记/OCR识别/OCR识别2.png’)mirror_image (Image, ImageMirror, ‘row’)mirror_image (ImageMirror, ImageMirror1, ‘column’)*旋转摆正*镜像翻转scale_image (ImageMirror1, SelectedChannel, 4.47368原创 2022-02-06 15:04:19 · 1943 阅读 · 1 评论 -
OCR识别中级篇,halcon实战项目讲解二,OCR助手
OCR识别中级篇,Halcon实战项目讲解二,OCR助手。第一:快速使用OCR助手进行识别:OCR助手打开位置进入halcon的OCR助手中,首页第一个设置是可以进行快速OCR识别和对需要识别的区域字体进行OCR识别训练。第一:按照他的要求进行加载图像,直接点击1.后面那个图像即可加载图片第二:按照他的要求进行对文本图像的选取,当我们的图像为正的时候,或者水平状态的时候可以直接使用第一个画方正的矩形,如果我们的图像为倾斜状态,我们则直接选取第二个可倾斜矩形选框,也可以默认直接选择课旋转的矩形原创 2022-02-04 21:14:36 · 6486 阅读 · 1 评论 -
OCR识别中级篇,Halcon实战项目讲解一,点状字符。
总结实战:第一:读图。第二:无论任何情况都需要修正字符角度,除非已经保证字符是平行与图像的。固定的套路程序,可以直接调用万能。第三:对字符提取,对于点状字符而言我们可以直接使用第四:使得图像为一个连通域,防止i,1等字符无法识别成功第五:进行区域拆分第六:进行读取halcon分类器输出原创 2022-01-25 21:35:19 · 4642 阅读 · 3 评论 -
浅谈机器视觉的相机,镜头选型和打光
本文章只针对较为常见的案例,具有一定的通用性。具体内容为本人的实际学习笔记,做为记录和参考。相机,镜头选型和打光需求分析,(识别定位,缺陷检测,OCR,测量)方案设计,相机光源。方案合同概要,程序具体书写调试测试修改结题维护书籍《工程光学》打光原则:出现大的对比度,大的暗亮变化焦距,CCD到镜头玻璃的距离CCD的尺寸固定不变,焦距变大则视野变小成像放大倍数=像元大小【um】/(系统分辨率【mm】1000)光学成像原理:1/物距+1/像距=1/焦距。焦距=工作距离成像放大倍数原创 2022-01-23 15:47:53 · 4141 阅读 · 1 评论