『Halcon』基于Halcon的印刷图像质量检测系统

本文涉及的产品
图像搜索,7款服务类型 1个月
简介: 📣读完这篇文章里你能收获到- 基于Halcon的印刷图像质量检测系统- 理论算法的讲解- 系统软硬件实现结构图示

请添加图片描述
📣读完这篇文章里你能收获到

  • 基于Halcon的印刷图像质量检测系统
  • 理论算法的讲解
  • 系统软硬件实现结构图示
  • 这篇文章强烈建议收藏!!!免得下次找不到

请添加图片描述

基于Halcon的印刷图像质量检测系统

Abstract: Modern products, external packing and printing are all large-scale production by pipelining.,it is printed on a batch of industrial presses. In the process of printing, there will be various printing defects, such as incomplete character printing, confusion of characters, missing printing, dust contamination and so on. Therefore, it is necessary to study a printing quality inspection system which is fast and accurate.
We can get the image by writing the software, then select the template image and train it. Then, compare the difference between the checked font and the template font by comparing with the plate image. Finally, by analyzing differences, we find defects in print fonts. In this paper, Halcon and C# are used to build the whole vision system, and template matching is used to match the image quality, and finally find the defects. Through the implementation of these algorithms, it is difficult to identify the image defects caused by batch printing

Key words: Machine vision; Template matching; Image processing; Halocn

摘 要: 现代化的产品外包装印刷都是流水线式的大规模生产,是由工业印刷机批量的印刷在产品上。在印刷的过程中会出现各种印刷缺陷,例如字符印的不完整、字符混乱、漏印刷、灰尘沾染等一系列缺陷。为此,有必要研究一种检查速度快、准确率高的印刷质量检测系统。
可通过编写上位机获取图像,然后选取模板图像并对其进行训练,紧接着通过与板图像进行比较得到被检查字体与模板字体之间的差异。最后通过分析差异找到印刷字体的缺陷。本文应用Halcon 和C#来搭建整个视觉系统,并用模板匹配来对图像质量进行匹配对比,最终找到缺陷所在。通过这些算法的实现,解决了在批量印刷中产生的图像缺陷难以识别的难题。

关键词: 机器视觉;模板匹配;图像处理;Halcon

1.引言

工业印刷机批量的印刷在产品中,很容易出现组装出错、印刷脏污等现象。因此,在实际的生产过程中,需要对印刷的质量进行识别检测,以便及时的剔除印刷缺陷的产品,减少甚至消除厂家在印刷过程中,因为印刷缺陷而造成的经济损失,用机器视觉代替人工检测,可提高效率和产品质量,另一方面降低劳动力成本。

2.检测流程

取得一幅图像后,首先对其进行预处理,预处理的目的是消除图像在分割的时候噪声的干扰。紧接着要选取合适的区域,把要检测的区域都能较好的分割出来最为模板存储在本地为后续检测做好准备。最后利用模板法来检测该区域是否完整,根据检测的缺陷面积来分析是否符合工业要求并进行一定规律的分类
在这里插入图片描述

3 基本图像处理

3.1 形态学处理

形态学图像处理是对图像中物体的中间形态或结构进行修改,膨胀和腐蚀是两种比较常用的基于形态学的方法。对于膨胀运算,一个物体在空间范围内均匀的增长,对于腐蚀运算,物体在空间范围内均匀的收缩。
膨胀是对两个向量进行与的操作,在该系统中我们需要对图像进行膨胀处理,具体定义如下:
设 A,B 是个集合,分别属于 n维空间 En,则A被B膨胀的定义:AB={c∈En: c=a+b, a∈A, b∈B}
在这里插入图片描述
(a)为集合A, (b)为集 B, (c)为集合A 被集合B 膨胀的结果在像的数学形态中。
在这里插入图片描述

3.2 图像滤波

为了得到较好的图像,我们通常会对图像进行滤波器处理可以很好的消除图像的噪声,这样可以使图像变得平滑。根据滤波器的学结构,一般简单的把常用的滤波器划分为线性滤波器和非线性滤波器。经常用的线性滤波器有均值滤波器和高斯滤波器,线性滤波器就是使用一个加权函数,对图像函授进行加权处理,也就是把根据计算得到一种权重函数,并把这种权重函数作用到每一个图像窗口内,并通过加权得到新的数字。
该项目中我们使用了加权均值滤波器又叫邻域平均法,领域平均分主要思想是选取要处理的点的附近的若干个像素点的均值来代替这个点的像素值,以这若干个像素点的均值来代替这个点的实际像素值。通常邻域的选取依据4领域或者8领域。下面分析它的滤波特性,则均值滤波对实际图像进行滤波分析和处理的公式如下:
在这里插入图片描述
其中 f (i,j)表示经过均值滤波后在(i,j)处的像素值,S表示(i,j)点的领域,M是领域内的总点数,g(i,j)表示图像在(i,j)处的像素数值。
公式(2-1)领域的选取能很好的抑制噪声。但当领域增大后,图像处理伴随而来也变得更加模糊化。为了解决这个问题,我们可以采取一种特殊的阈值法,这种阈值法能较好的消除均值滤波而带来的模糊,式如下:
在这里插入图片描述
公式中 R是规定的非负闭值。上述表达式的含义是:如果被模糊化的点和它的领域内点的灰度值之差大于这个 R数值的时候,就用这个平均值来替代它,如果小于这个数值的时候就不变化,利用这种方式就可以减少模糊化的程度。

3.3 边缘检测

随后进行的是边缘检测,该系统中运用的是Canny算子。Canny算法通常处理的图像为灰度图,因此如果摄像机获取的是彩色图像,那首先就得进行灰度化。对一幅彩色图进行灰度化,就是根据图像各个通道的采样值进行加权平均。以RGB格式的彩图为例,通常灰度化采用的方法主要有:
方法1:Gray=(R+G+B)/3;
方法2:Gray=0.299R+0.587G+0.114B;(这种参数考虑到了人眼的生理特点)
下列在本文实现的Canny算法中所采用的卷积算子,表达如下:
在这里插入图片描述
其x向、y向的一阶偏导数矩阵,梯度幅值以及梯度方向的数学表达式为:
在这里插入图片描述
求出这几个矩阵后,就可以进行下一步的检测过程
在这里插入图片描述

4 模板匹配算法

4.1 模板匹配的分类

模板匹配一般分为以下三种:

  1. 基于灰度值的匹配。其基本原理是:将模板图像的灰度值信息存储在模板里,比较模板与对象的灰度信息,根据两者的差别大小来判断是否匹配。能够识别出没有遮挡和混乱的目标,只能进行单模板匹配,且一次只能识别一个对象。由于灰度特征很容易受各种因素(如噪音、照明条件)的干扰,这种技术的应用很有限。匹配结果为目标对象的位置与灰度差(匹配分数)。
  2. 基于形状的匹配。其基本原理是:提取对象的轮廓特征,生成形状模板。由于物体的“形状”对光照变化等各种因素不敏感,该技术抗干扰能力很强,能一次找到一个模板的多个实例,并可进行多模板匹配,有效检测出偏移、旋转、比例缩放、部分覆盖的目标。匹配结果为目标对象的位置信息与相似度,对于多模板匹配还可以得到目标属于哪个模板的信息。
  3. 基于组件的匹配。该匹配可以认为是高级的形状匹配,匹配原理与形状匹配相同,改进表现在对于一个包含多个部件的目标对象的检测上。基于组件的模板匹配将此种目标对象作为一个大模板,训练模板时允许各个部件间有相对的位置偏移、旋转,基于形状的匹配针对此种情况则必须采用多模板匹配。由于在训练模板时,各个部件之间的位置关系基本不变,在匹配时只需要搜索到一个部件,其他部件的搜索范围就可大大减少,因此相对基于形状匹配的多模板匹配,其匹配速度更快。匹配结果为目标对象各个部件的位置坐标、目标部件相对模板部件的旋转角度以及各部件的相似度等信息。

而该系统使用形状以及灰度双重匹配,保证了结果的正确性。

4.2 基于边缘的形状匹配算法

使用边缘匹配物体有以下几种策略。首先,可以在匹配中使用原始的边缘点,或者增加每个点的一些特性。另外一种策略是使用边缘分割算法将目标分割为多个几何图元,然后在图像中匹配这些分割得到的几何图元。最后一种策略是基于边缘的分割,可以得到边缘上的突变点,然后在图像中匹配这些突变点。这些突变点可以从图像中直接提取,而不用从边缘中提取。

4.2.1 均方距离

最简单的相似度度量是使模板边缘点与离它最近的图像边缘点之间的均方距离最小。但是,为模板边缘上的每个点确定离它最近的图像边缘点是一个十分费时的过程。不过,我们感兴趣的是与最近图像边缘点之间的距离,而不需要知道哪个点是最近点,因此可以通过计算分割后搜索图像背景的距离变换来高效实现。如果模板边缘点与图像边缘点之间的平均距离小于一个阈值,即可认为找到了一个模板的实例。当然,为了得到模板的唯一位置,必须计算相似度量的局部最小值。均方边缘距离sed表示如下:
在这里插入图片描述
其中:T表示模板中边缘点,d(r,c)表示分割后搜索图像背景的距离变换。可以发现,sed方法基于边缘进行匹配,因此不受任意光照变化的影响。

4.3 基于灰度值的匹配算法-NCC算法

归一化积相关(Normalized Cross Correlation)算法是作为相似度衡量的一个标准,首先它是将模板图像和搜索图像的灰度值作为输入参数进行统计计算,然后在通过相关的归一化处理来反应两幅图像之间的匹配程度。
相关匹配算法可定义为:
在这里插入图片描述
3-2式中,m_f是是模板的平均灰度值,S_t^2是模板所有像素灰度值的方差。
在这里插入图片描述
在归一化积相关的系数中应注意该匹配算法值的范围是在[-1,1]中,如果ncc(r,c)=±1,图像成一个线性比例的公式.
在这里插入图片描述
当ncc(r,c)=1时,则a>0,说明模板与图像的极性是相同的;当ncc(r,c)=-1时,则a<0说明模板与图像的极性是相反。由3-5可知归一化积相关系数通过线性光照变化对其所计算出的结果将不会受到影响。
由上可知,当ncc(r,c)=±1时,模板与搜索图像中的子图像才会完全匹配。在一般情况下,归一化积相关系数的绝对值越大就表示模板与搜索图像中子图像之间越接近,归一化积相关系数的绝对值越接近零表示模板与图像越不一致。

5 系统实现

5.1 系统的硬件结构

图像采集系统是印刷质量检测的根基,离开了这个采集系统,则将获取不了外界目标,进而也无法分析印刷是否合格,在图像目标采集系统过程中而相机又是基础中的基础。选择一个合适的相机,不仅能解决分辨率问题,还能在算法上给与很多便利。因此选取相机的合适与否将决定本系统是否能用。
针对本印刷字体质量检测的要求,不需要考虑印刷字体是否有颜色,所以一般采用黑白相机即可达到检测的要求。故本系统选取的是300万像素的黑白USB2.0摄像头。而结构平台则为定制的。
在这里插入图片描述

5.2 系统的软件结构

本系统的软件界面主要用C#编写,包括以下功能:摄像头的选取连接、创建形状模板、抓拍训练、检测缺陷。
在这里插入图片描述
实现效果:
在这里插入图片描述

6 结束语

利用形状匹配和灰度值匹配,双重匹配,保证了检测的成功率。提取字符亚像素轮廓和灰度统计信息进行训练,精度高。利用灰度值的匹配及训练,速度快。该系统的鲁棒性不够强,未设计光源,受光照影响较大。

1 参考文献

[1] 数字图像处理第六版(冈萨雷斯)
[2]Halcon用户帮助手册
[3]张建华, 基于灰度的模板匹配算法研究, 内蒙古农业大学,2014
[4]崔晓萌, 数字印刷图像质量检测与质量控制工程理论与应用研究,华南理工大学,2013
[5]于治国,唐万有,李志会, OpenCV在印刷质量检测系统中的应用,微计算机信息,2011
[6]周淑宝,杨永才,印刷质量视觉检测系统设计与应用,印刷杂志,2012
[7]黄建荣,范彦斌,叶邦彦,基于Halcon的SMT-PCB元件缺陷检测, 佛山科学技术学院学报,2008
相关文章
|
6月前
|
存储 传感器 文字识别
LabVIEW开发基于图像处理的车牌检测系统
LabVIEW开发基于图像处理的车牌检测系统
50 3
|
6月前
|
算法 计算机视觉
LabVIEW使用图像处理检测显微图像中的白血病
LabVIEW使用图像处理检测显微图像中的白血病
33 0
|
6月前
|
机器学习/深度学习 人工智能 算法
使用纹理对比度检测检测AI生成的图像
在本篇文章中我们将介绍如何开发一个深度学习模型来检测人工智能生成的图像
92 0
|
文字识别 监控 算法
Baumer工业相机堡盟工业相机如何使用BGAPISDK联合Halcon将图像中的六一快乐字体提取出来(C#)
Baumer工业相机堡盟工业相机如何使用BGAPISDK联合Halcon将图像中的六一快乐字体提取出来(C#)
116 0
|
6月前
|
文字识别
[Halcon&识别] 车牌识别
[Halcon&识别] 车牌识别
76 0
|
传感器 算法 开发工具
Baumer工业相机堡盟万兆网相机如何在联合Halcon中对图像进行平场校正功能(Halcon)
Baumer工业相机堡盟万兆网相机如何在联合Halcon中对图像进行平场校正功能(Halcon)
238 0
|
算法 安全 机器人
Baumer工业相机堡盟工业相机如何联合BGAPISDK和Halcon实现图像的直方图算法增强(C#)
Baumer工业相机堡盟工业相机如何联合BGAPISDK和Halcon实现图像的直方图算法增强(C#)
90 0
|
算法 安全 机器人
Baumer工业相机堡盟工业相机如何联合BGAPISDK和OpenCV实现图像的直方图算法增强(C++)
Baumer工业相机堡盟工业相机如何联合BGAPISDK和OpenCV实现图像的直方图算法增强(C++)
67 0
|
算法 安全 机器人
Baumer工业相机堡盟工业相机如何联合BGAPISDK和OpenCV实现图像的伽马变换校正算法增强(C++)
Baumer工业相机堡盟工业相机如何联合BGAPISDK和OpenCV实现图像的伽马变换校正算法增强(C++)
233 0
|
算法 安全 机器人
Baumer工业相机堡盟工业相机如何联合BGAPISDK和Halcon实现图像的线性灰度变换ScaleImage算法增强(C#)
Baumer工业相机堡盟工业相机如何联合BGAPISDK和Halcon实现图像的线性灰度变换ScaleImage算法增强(C#)
82 0
下一篇
无影云桌面