基于机器视觉的工件识别应用研究

2023-08-18 06:38郑如新孙青云马素慧
机械设计与制造 2023年8期
关键词:像素点图像处理灰度

郑如新,孙青云,马素慧,程 冬

(1.南京林业大学机械电子工程学院,江苏南京 210037;2.河北科技师范学院机电工程学院,河北秦皇岛 066000)

1 引言

20世纪50年代,机器视觉在国外开始兴起,当时只是简单的在一些图像处理和模式识别上面的应用,到了60年代机器视觉技术开始慢慢往三维上面去发展。机器视觉现在发展迅速,在各行各业中得到广泛的应用,机器视觉可以代替人工来实现一些人工无法进行的操作,不但可以解放人的劳动力,而且还可以避免因为人工的操作失误带来的损失,机器视觉的关键是对采集的图像进行处理与识别[1]。HALCON 是德国Mvtec 公司开发的一套完善的机器视觉算法包,在机器视觉开发领域应用广泛,在工业界已经是公认具有最佳效能的Machine Vision软件[2]。

这里基于使用HALCON 图像处理软件对工件进行图像处理,通过利用HALCON 软件中的多种算法对相机所采集到的工件图像进行处理,最终确认是否能够正确识别出相应工件。

2 系统平台的组成结构

整个系统平台的采集硬件选用的是大恒水晶系列相机(型号为MER−500−7UC),如图1所示。其中,分辨率是(2592×1944),并且搭载了型号为gx−0816,焦距为8mm的光学镜头,一台内存为8G的工业计算机,相机是通过USB2.0标准接口与计算机相连接并实时采集图像。将采集到的图像通过USB2.0传输到计算机上面,开始对图像进行处理操作。

图1 MER−500−7UC相机Fig.1 MER−500−7UC Camera

3 系统平台的框架流程图

当相机采集到了图片之后往往不能直接使用,需要对图片进行一定程度上的处理,主要包括:图片的预处理、阈值分割、形态学运算等操作,然后对提取出的工件进行相关识别并计数,工作流程图,如图2所示。

图2 工作流程图Fig.2 Work Flow Chart

4 图像的采集

在HALCON中图片的采集主要分为三个步骤,如图3所示。

图3 HALCON图像采集流程图Fig.3 Flow Chart of Halcon Image Acquisition

(1)开启图像采集接口:连接相机并返回一个图像采集句柄,采用算子open_framegrabber打开相机。

(2)读取图像:设置采集参数并读取图像。

(3)关闭图像采集接口:在图像采集结束后断开与相机的连接以释放资源。

5 图像的预处理

图像预处理技术包括图像的增强,图像的平滑与去噪,图像的二值化等。图像的增强主要是为了突出图像中的细节,为了后续的特征识别或者检测做准备[3]。在HALCON图像处理中,可以使用emphasize算子实现这一操作,相机采集到的原始工件图片,如图4所示。图像增强后的工件图片,如图5所示。可以看出图5相对于图4有明显的增强效果,使得工件的边缘更加清晰、特征更加容易识别。

图4 工件原始图片Fig.4 Original Picture of Workpiece

图5 工件增强图Fig.5 Workpiece Enhancement Diagram

5.1 图像的平滑与去噪

平滑与去噪主要是用滤波进行处理,滤波的主要作用是去除图像采集过程中噪声及其他各种因素对图像质量造成的影响。在图像处理的过程中,能够使用到的滤波方法有中值滤波、均值滤波、低通滤波等。在这里主要采用中值滤波对采集到的图片进行滤波去噪。中值滤波就是选择一定形式的窗口,使其在图像的各点上移动,用窗内像素灰度值的中值代替窗中心点处的像素灰度值[4]。并且选取像素点邻域内所有像素灰度值的中值作为其灰度值,能够有效的消除椒盐噪声及板块噪声,在平滑图像的同时又能保护边缘信息。在这里则主要采取空间域上的滤波方法,通过特定的算法对选定像素点邻域内的所有像素点进行处理,将处理结果作为这一像素点的输出值。对图像进行滤波处理的过程可表示为:

式中:g(x,y)—滤波处理后的像素点(x,y)处的灰度值;a,b—以像素点为中心建立的矩形窗口的长宽的一半,a,b应为奇数。k(s,t)—滤波器,又称为核函数(Kernel);f(x−s,y−t)—窗口内一个像素点的灰度值。

图片表面带有噪音,经过中值滤波处理之后达到了图7的效果,如图6所示。

图6 工件椒盐噪音图Fig.6 Salt and Pepper Noise of Workpiece

图7 中值滤波Fig.7 Median Filtering

5.2 图像的灰度化

图像的灰度化也是图像预处理中的一种手段,灰度图像是指只有亮度差别,而没有颜色差别的图像[5]。如拍摄黑白照片或者将彩色图像转为灰度图像,用Y来代表亮度大小,其转化公式如下:

但是在光照不均匀的情况下,对目标物体进行灰度化处理,如果光照强度较亮,则采集到的图像灰度值主要分布在高灰度值区域,如果光照强度较弱,则采集到的图像的灰度值主要分布在低灰度值区域,这样就会直接会影响到图像处理的质量。这里用了Gamma校正方法对图像的灰度进行非线性修正,基本形式如下:

式中:g—输出图像的像素值;q—输入图像的像素值;c—比例系数,一般取1;γ—Gamma校正的幂指数,当γ<1时,灰度级扩展,当γ>1时,灰度级压缩。

在中值滤波处理之后,将工件图像灰度化,并且使用Gamma对其进行修正,使用算子rgb1_to_gray(ImageMedian,GrayImage)来实现这一操作,工件灰度图像,如图8所示。

图8 工件灰度图Fig.8 Gray Scale of Workpiece

6 图像阈值分割二值化

阈值分割是一种按图像像素灰度幅度进行分割的方法,把图像的灰度分成不同等级,然后设置灰度门限(阈值)的方法确定目标区域或边界,阈值法也是一种简单有效的图像分割方法[6−8]。这里采用根据直方图谷底确定阈值法来将图像从背景中分割开来,达到提取目标的目的。按下式进行二值化,就可将目标有效的提取出来。

式中:g(x)—阈值运算后的二值图像。

按照上述阈值分割方法在拍摄的图像中将工件与背景分割开来,如图9所示。

图9 工件分割、工件阈值分割灰度直方示意图Fig.9 Gray Square Diagram of Workpiece Segmentation and Workpiece Threshold Segmentation

调用算子threshold,并设定阈值在(173~255)的范围,在这范围之内的像素都会被选中,这样就可以将工件成功的从背景中分割开来。

7 形态学运算

腐蚀与膨胀是形态学的基础,在图像处理过程之中,往往需要将腐蚀与膨胀相结合起来运用对图像进行处理[9]。腐蚀与膨胀都是属于一次运算,而一次运算往往不能达到令人满意的图像处理效果,所以就需要涉及到开运算和闭运算的二次运算,所谓的开运算就是先腐蚀后膨胀,减少图像像素,闭运算就是先膨胀后腐蚀,增加图像像素[10−11]。

集合A被结构元素B作开运算,记为A∘B,其定义为:

集合A被结构元素B作开运算,记为A•B,其定义为:

B元素紧贴A的内部边缘平移、B元素、C区域为开运算后的结果示意图,如图10所示。

图10 B元素紧贴A的内部边缘平移、B元素、C区域为开运算后的结果示意图Fig.10 The Translation of Element B Close to the Inner Edge of A,and the Schematic Diagram of the Result After the Open Operation of Element B and Region C

HALCON中实现闭运算采用算子opening_circle 来对图像进行处理。在阈值分割之后,由于光照的影响,图像中出现了不规则的孔洞,如图11所示。这样会使得图像不完整。

图11 阈值分割后的孔洞Fig.11 Holes After Threshold Segmentation

采用闭运算来填充孔洞结果,如图12所示。

图12 孔洞填充Fig.12 Hole Filling

8 识别结果

在经过了上述处理之后就可以将工件识别出来,再采用count_obj算子,来对识别出的工件进行计数操作,具体算法如下:

count_obj(SelectedRegions,Number)

dev_set_color(′blue′)

set_tposition(WindowHandle,50,50)

set_display_font(WindowHandle,30,′mono′,′true′,′false′)

write_string(WindowHandle,′有′+Number+′个工件′)

这里是基于一定的条件下,用阈值对工件进行识别分类结果,如图13所示。

图13 识别出工件的结果Fig.13 The Result of Identifying the Workpiece

9 结果验证

此次识别主要是针对上述图中的工件,而非此工件的则不需要识别出来,若是目标工件中混入了其他工件则不需要识别。本次识别验证做了1组实验,混有相同的目标工件和非目标工件,来验证通过上述的算法是否能够准确的识别出目标工件。如图14、表1所示,结果表明,在目标工件和非目标工件比较少的情况下系统可以完全的识别出目标工件,识别率可以达到100%,如果在混合工件较多的情况下,可能会存在误分,误识。

表1 实验的识别结果Tab.1 Experimental Recognition Results

图14 待识别工件和识别出的结果示意图Fig.14 Schematic Diagram of the Workpiece to be Identified and the Identified Tesult

10 结语

这里论述了基于机器视觉的工件识别系统组成、识别原理及方法。相对于人工去识别更加的方便、高效、快捷并且不易出错。但是这种方法也存在不足,容易受到光照的影响,在光照不均匀或者光照太强烈的情况下,会使得工件难以分割,造成一定的困难。但是本方法大绝大多数情况下是实现的,也具有更高的实用性。

猜你喜欢
像素点图像处理灰度
采用改进导重法的拓扑结构灰度单元过滤技术
基于灰度拉伸的图像水位识别方法研究
基于局部相似性的特征匹配筛选算法
基于图像处理的机器人精确抓取的设计与实现
机器学习在图像处理中的应用
基于5×5邻域像素点相关性的划痕修复算法
基于canvas的前端数据加密
基于最大加权投影求解的彩色图像灰度化对比度保留算法
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割
基于灰度线性建模的亚像素图像抖动量计算