文章目录检测任务检测思路点胶质量检测代码及解析图示处理思路检测任务点胶检查检测以下缺陷:1.缺少粘合胶的部分(断胶)2.粘合剂过多或过少的部分(溢胶、缺胶)3.粘合胶离其预定位置太远(点胶偏移)halcon对应示例程序:apply_bead_inspection_model.hdev效果图示:检测思路示例程序的图像处理思路:1.使用halcon的可变形模板匹配,将检测物品转正,方便检测这里我们用的较少,因为我们平时在做点胶检测的时候,用普通的模板匹配,还有普通的2D仿射变换就可以保证图像的一致性
halcon的这种纹理检测模型使用起来相当方便。只需要下面几个步骤:创建纹理检测模型create_texture_inspection_model读多张图,选择图片中的一片没纹理正常的ROI传给检测模型设置训练参数 set_texture_inspection_model_param开始训练 train_texture_inspection_model读取要检测的图片,apply_texture_inspection_model进行检测,直接就能输出缺陷的regi
粘连的东西,最常见的思路是进行腐蚀,缩小region。用下面的思路也是可以的。(1)简单的阈值分割;(2)计算连通域connection;(3)基于距离变换的分水岭区域分割,使用算子distance_tansform,watersheds(4)盆地与原连通域求交集,分离粘连颗粒;演示程序如下:*采集图像
dev_close_window ()
read_image (Image, 'pellets')
*计算图片大小,并以原图尺寸显示
g
引言:特征提取是缺陷检测和分类器的重要基础,由于网络资料匮乏,这个系列的贴子勇哥会长期更新,以充实其内容。函数原型:gray_projections(Region, Image:: Mode: HorProjection, VerProjection) 功能:计算在水平和垂直方向的灰度值投影当Mode = 'rectangle'时,选取输入区域的任意方向的最小内接矩形,在其主轴方向上实现投影。即,水平投影方向对应大轴,垂直投影方向对应小轴。参数列表:第1个参数(in):
引言:特征提取是缺陷检测和分类器的重要基础,由于网络资料匮乏,这个系列的贴子勇哥会长期更新,以充实其内容。gray_histo_abs(Regions, Image : : Quantization : AbsoluteHisto)函数计算图像Image 内区域Regions的绝对灰度直方图AbsoluteHisto。参数Quantization 定义了一个频率值加多少个相邻灰度值的频率。生成的 AbsoluteHisto是一个元组,其索引映射到输入图像Image 的灰度值上,其元素包
引言:特征提取是缺陷检测和分类器的重要基础,由于网络资料匮乏,这个系列的贴子勇哥会长期更新,以充实其内容。moments_gray_plane(Regions, Image : : : MRow, MCol, Alpha, Beta, Mean)函数计算一个平面的灰度值矩和灰度值的参数。公式为:F为平面, 为中点。m11,m20,m02为区域缩放矩。因此 Alpha 表示沿直线轴方向的梯度(“向下”),Beta 表示沿列轴方向的梯度(“向右”)。原图处理后注意红色矩形处为参
这是网上写得比较好的一篇贴子,勇哥转载一下以方便大家。讲的都是基础的region操作。1、区域的运算在学习特征分析之前,先了解一下几个区域的基本运算方式。区域的运算主要包含:区域作差、区域合并、区域集合、区域的选择、区域的填充、区域的骨架等。在项目中,根据实际需要,灵活的选择相应的计算方式。在Halcon创建两个矩形,作为后面算子测试用:*生成两个矩形区域
gen_rectangle1 (Rectangle1, 123, 196, 186, 3
目录1、图像边缘提取原理2、边缘提取算子介绍3、图像的亚像素边缘提取4、亚像素轮廓的特征分析5、xld的分割及直线拟合6、圆及椭圆的拟合7、中心线的提取1、图像边缘提取原理网上搜索图像边缘提取,有很多详细的讲解,就是讲的都太深奥,很难看明白。图像边缘提取原理并不复杂,至于一些大牛提供的复杂变换公式,也没必要深入的去研究,halcon都已经在算子中将其封装好了,我们会用就行。边缘的定义:边缘是图像中灰度发生明显变化的地方,是不同灰度区域之间的界限。图像的每个像素点的灰度值用矩阵来表示,那么画竖线的
* This example program shows how to classify different
* metal parts using a general MLP classification
*
dev_update_off ()
dev_close_window ()
dev_open_w
神经网络直接决定类与类之间的separating hyperplanes(分离超平面),而超平层分隔开两个类的特征向量,落在在层的一边的特征向量属于class 1,落在另一边则属于class 2。基于单层神经网络的分类器需要 linearly separable classes(线性可分的类),在许多应用中不够高效。基于多层神经网络的分类器则无此限制,只要隐藏层包含足够多的处理单元即可。神经网络神经网络每一层的处理单元计算特征向量的线性组合或者来自前一层的结果。参数说明:要使用MLP去