APP下载

基于图像处理的模具特征区域描述及程序设计

2016-11-16赵晓芳廖春萍韩建峰

东莞理工学院学报 2016年5期
关键词:图像处理灰度边缘

赵晓芳 廖春萍 韩建峰

(东莞理工学院 电子工程与智能化学院,广东东莞 523808)



基于图像处理的模具特征区域描述及程序设计

赵晓芳廖春萍韩建峰

(东莞理工学院电子工程与智能化学院,广东东莞523808)

常规图像的特征区域描述方法受到诸多外界的限制,而图像处理技术的方法不受目标区域形状的限制,可对不规则图形或者区域进行良好的处理。主要研究了适用于模具图像的滤波处理算法及边缘检测算法,寻找图形的轮廓,找出特征点并计算面积、周长、重心坐标等特征区域描述参数,结合Matlab开发一款服务于工业自动化生产需要的人机交互界面。

特征区域描述;边缘检测;模具;Matlab

图像处理技术是指将图像信号转换成数字信号并通过计算机对其进行处理再逆转换的过程。图像处理技术已经应用于生物医学、军事侦察、矿藏勘探、森林资源探查、洪水泛滥监测、工业检测、太空星体的探测、交通管理、零件产品无损检测等众多领域,受到广泛重视,并取得了喜人的成果。工业生产中未来的发展趋势是自动化,生产中也需运用图像处理技术。传统的模具缺陷检测是靠人眼识别,尽管人眼鉴别图形的能力强大,可以分辨出多种图形,在很多情况下,也必难以避免人工疲劳和复杂件缺陷人眼的不可见等问题。通过图像处理技术由编程人员在计算机上面用指令来标识各种模具的构成图,在生产线上的自动识别系统装置会按照预设的指令识别生产出来的模具是否合格,淘汰不合格的模具,完全实现工业检测自动化[1],可以快速、精确地淘汰不合格模具,如此既节约了人工成本,也避免了人工检测的主观性。

1 图像预处理

图像采集系统通常会受到其他因素的干扰或条件的限制,无法得到满意的图像,也无法直接在计算机视觉系统中使用,必须在图像采集的初期对原始图像进行预处理。以下将模具作为处理对象,进行预处理分析。

1.1均值滤波

均值滤波是一种线性滤波方法,其主要使用的方法是领域平均法。邻域平均法指的是设原始图像的每一个像素点为(x,y),这些像素点的集合为R,然后计算每个像素点与该点的灰度平均值,即:

(1)

(1) 式中,集合R是一个不包括像素点(x,y),预先确定好的邻域;m为邻域R中像素点的个数;g(x,y)是输出图像;f(x,y)为原始图像[2]。邻域平均法通常借助模板的卷积运算来实现。在MATLAB中基本单位是矩阵,所以图像和模板都被转换为矩阵,在卷积时,首先要进行扩展和模板翻转,然后再相乘求和。常用的模板其上下左右均对称,翻转后与原模板相同,滤波结果如图1(b)所示。

图1 滤波处理

1.2中值滤波

中值滤波是图像处理中常用的一种非线性平滑滤波方法,其基本原理是把图像中每一点的像素值用该点邻域中各像素值的中值代替,从而消除孤立的噪声点,因此对于滤除图像的椒盐噪声非常有效,并且中值滤波器在去除噪声的同时还保护了图像的边缘[3-4]。此滤波法的目的是将图像中与周围像素灰度值相差比较大的改成与周围像素的比较接近的一个值,进而把噪声滤除。因为中值滤波是采用的是与周围像素灰度值差不多的一个值,所以产生的模糊不多。

设有一个一维序列g0、g1、…、gn-1,窗口长度为2m+1(2m+1为奇数),在某个位置上,窗口内的2m+1个像素为gi-m、gi-m+1、…、gi、gi+1、…、gi+m则gi= Med{gi-m,gi-m+1,…,gi+m}。例如,把窗口长度设为5,窗口中像素的灰度值分别为30、10、70、8、45,把它们由小到大排列,结果为8、10、30、45、70,排列在中间位置的灰度值是30。于是原来窗口中间的灰度值70就由新的排列窗口中间的灰度值30替代。如果70是一个噪声的尖峰,则将被滤除。但是如果它是一个信号,那么使用中值滤波的话会将造成此信号的损失。滤波结果如图1(c)所示。

1.3类间方差阈值分割

类间方差法是由日本的学者大津在19世纪70年代末年提出的,是一种自适应的阈值计算方法,也叫大津法。该算法计算简单、效率高,应用广泛。它是在分析最小二乘法原理的基础上,推导出来的方法。设整个图像的像素数为N,灰度级的像素点数为n,灰度图像的灰度值为L。直方图归一化,则

(2)

其中,N=n0+n1+…+nL-1,用阈值N可以划分为两类:C0={0,1,2,…,T},C1={T+1,T+2,…,L-1}。用该方法分割出来的结果如图1(d)所示。

1.4预处理结果分析

从图1可知,采用均值滤波法的缺点是不能完整地保有图像原来的细节,在实现图像去噪的同时,会把图像原来的部分细节破坏,使得部分图像变得不清晰,不能完美地去除图像中的噪声。中值滤波是一种非线性处理技术,被广泛使用在数字信号处理中,因为在实际运算过程中,不需要提前知道图像的亮度、色度和抽样值,而且具有独特的滤波特性。中值滤波在保有图像边缘的同时,能够很好地滤除图像中的干扰和噪声,与之相比,均值滤波在过滤噪声的同时会模糊图像。但是中值滤波不适用于线、角、点细节多的图像[5]。

2 边缘检测及效果分析

图像的边缘检测为了减少图像中不必要的像素和数据,也就是说过滤图像中被认为不需要或者不相关的信息,保留图像中有用或者能够突出原图的重要结构属性。在图像处理中,边缘提取指的是对图片轮廓进行处理提取。边缘检测的算法很多,比如Sobel、Canny、Log算法,使用这三种算子对实际模具做图像处理,结果如图2所示。

图2 边缘检测

Sobel边缘检测算法比较简单,所以其检测效率高,但是在图像应用中,Sobel边缘检测比Canny边缘检测的准确率低。虽然Sobel边缘检测不如Canny边缘检测的准确,但是在实际应用中,Sobel边缘检测依然是首选,特别是对图像的细节纹理不太关心,但效率要高的时候。Sobel边缘检测属于基于查找的边缘检测算子,带有方向性,因此可以检测竖直边缘和垂直边缘。Sobel边缘检测算法是先计算出梯度图像,然后将梯度图像中选取较亮的那一部分提取出来就是简单的边缘部分。

Canny边缘检测算法是John F.Canny在19世纪80年代年研究提出的多级边缘检测算法。Canny边缘检测算法可用于各种不一样的图像,它的算法允许用户根据自身不同的特别需求调整来检测提取自己所需的边缘。在预处理的步骤中,滤波器使用的大小将直接影响Canny算子最后的结果[6]。如果在预处理中选取较小的滤波器,就能使图像产生的模糊效果较少,所以就能检测较小、变化较多的细线,同理可得,在预处理中选取较小的滤波器,产生的模糊就多,这用于检测整体较大的图像,综合上面所叙述的,Canny边缘检测算法检测效果要比Sobel边缘检测算法准确。

Log边缘检测算法在众多图像处理研究者眼中是最佳的边缘检测算法之一,它是根据Marr的视觉理论的边缘提取思想,经过进一步研究得出的Log边缘检测算法,为了抑制噪声对原图像的影响,先进行平滑处理,再进行边缘的提取。在相同情况下,Canny边缘检测算子的抗噪能力要比Log边缘检测算子强,但是Log边缘检测算子要比Canny边缘检测算子的边缘点准确。Log算子基本步骤如下:先采用二维高斯滤波器滤波,再采用二维拉普算子进行图像增强,最后依据二阶导数零交叉进行边缘检测。

这些算法各具优点、缺点,所以用户在选择上可根据自身不同的需求来确定选用的算法[7]。

3 区域特征描述

在进行一系列的图像预处理后,要对提取出来的图像进行有效的特征区域描述,对于模具而言,往往比较关注其区域面积、区域周长、区域重心等,这些特征的描述对于模具的合格率影响较大。

3.1区域面积

图像描述的概念中,区域面积表示一个区域的大小,是区域的一个基本特征。它只与目标区域中的像素点有关,与区域中的灰度值无关。在MATLAB中,用目标区域边界内所包含的像素点的数目来把区域面积计算出来,同时这是常用也是最简单的计算方法。为了更方便地计算出区域的面积,通常会把目标区域处理成二值图像,像素值为1代表目标区域内的点,像素值为0就代表背景,可得到的区域面积公式为

(3)

式中,R代表目标区域内像素点的集合,若图像为灰度图,则可得区域面积公式为

(4)

另一种方法是使用Freeman码来计算区域的面积[8],设起始坐标为(x0,y0),则Freeman码中的第k个点y坐标可这样表示

(5)

一般采用八连通链码,Δyi可定义为

(6)

式中,εi为八连通链码中的第i个值,则其中区域内所包含的面积是

(7)

其中,Δxi与ai分别定义为

(8)

(9)

3.2区域周长

区域周长也是区域的基本特征,区域内所包含像素,由边界来划定,而区域边界的周长有三种方法可以计算:(1)区域和背景交界线的长度;(2)区域边界8链码的长度;(3)边界点数之和。

假定区域边界的周长为L,那么在极坐标下的计算出其周长为:

(10)

采用邻域法,可以确定在边界上的点数,然后把这些点数相加就可以计算出周长,此方法用MATLAB实现较为简单[9]。

3.3区域的重心

区域重心其实就是目标区域的中心点位置也叫面积中心,即为质量恒定的图形的质心。区域重心是区域的基本特征,是图像的一种描述符,区域重心的坐标是根据区域内所有的点计算出来的。对M×N的数字图像f(x,y),其重心坐标的定义为:

(11)

区域内重心的坐标一般不是整数,而区域内各点的坐标是整数。若目标区域边界上的点集可知,那么根据格林定理,可得

(12)

沿着由Freeman码得出的区域边界曲线,可对闭合曲线进行线积分,得到:

(13)

其中,K为边界点总数。

表示目标区域的位置有两种方法,第一种是用区域的面积中心点来表示目标区域的位置,对于M×N大小的目标区域,可得出重心的坐标为

(14)

上面使用的方法较简单,对于二值化图像,可直接计算出目标区域的重心,但实际的灰度图像中,第一种方法并未将灰度变化考虑进去。基于几何矩来计算目标区域重心的方法,即使目标区域中灰度有变化,依然可以把重心计算出来,基于二元有界函数,几何矩定义为

mjk=∬xjykf(x,y)dxdy ,(j,k=0,1,2,…),

(15)

以矩为基础,可得目标区域的重心公式如下

(16)

基于以上分析,对摄像机采集到的模具图像首先进行预处理,然后进行边缘检测得到模具的轮廓,最后得到其区域特征,包括周长、面积、重心等。在Matlab环境下进行仿真处理,开发的人机交互界面如图3所示,在实际应用过程中,首先导入需要处理的图片,图像预处理部分提供多种算法供选择和组合,各部分的处理结果实时显示在界面上,测量结果可与标准模具进行比对,淘汰不合格产品。

图3 人机交互界面

4 结语

图像处理技术在机器人的智能控制、智能监控、工业自动化的应用很多。随着智能化设备发展,为人们带来众多便利,但是计算的精度和算法的鲁棒性还需进行深入的研究。该文以模具有研究对象,以服务于工业自动化为目的,对图像进行了预处理、分割和区域特征描述等研究,并基于MATLAB开发了一套简易的人机交互软件,后续将增加图像的特征,力求对区域的目标描述更加完整[10]。

[1]王冠英,胡心平,刁维龙.基于机器视觉的复杂形状模具尺寸测量[J].计算机测量与控制,2015,23(1):706-708.

[2]曹健.图像目标的表示与识别[M].北京:机械工业出版社,2012.

[3]郭宝龙,孙伟.数字图像处理系统工程导论[M].西安:西安电子科技大学出版社,2012.

[4]李元帅,周国忠,刘儒贞.图像中值滤波硬件算法及其在FPGA中的实现[J].计算机应用,2012,20(5):12-14.

[5]严文培.基于Matlab不同平滑处理对边缘检测效果的影响[J].现代计算机, 2013(25):39-43.

[6]Kumar G V S R. Review on image segmenttion techniques[J].Pattern Recognition,2014,3(9):992-997.

[7]许宏科,秦严严,陈会茹.一种基于改进Canny的边缘检测算法[J]. 红外技术, 2013(4): 210-214.

[8]肖维民,葛世晓.基于Freeman链码特征值的示功图分类识别研究[J].计算机技术与发展,2015,255(2):25-28.

[9]许录平.数字图像处理学习指导[M].北京:科学出版社,2007.

[10]李秀梅,张奇伟,应广之.基于Matlab的图像去噪可视化系统设计[J]. 杭州师范大学学报:自然科学版, 2012(6): 551-555.

Feature Region Description of Mould andProgramming Based on Image

ZHAO XiaofangLIAO ChunpingHan Jianfeng

(School of Electrical Engineering & Intelligentization, Dongguan University of Technology,Dongguan 523808, China)

The characteristic region description method of conventional image is limited by many outside aspects, but the method of image processing technology is not restricted by the shape of the target area, and can be used to deal with the irregular figure or area. The research on design filtering algorithm and edge detection algorithm which can be suitably applied to mould image; with findings of graphic outline with feature description parameters such as area, perimeter, and center of gravity and in combination with Matlab-based software, a kind of human-computer interaction interface has been developed for industrial automation production needs.

characteristic region description;edge detection;mould ;Matlab

2016-06-13

广东省科技计划项目(2016A050502066;2016A010101038)。

赵晓芳(1982—),女,河南许昌人,讲师,博士,主要从事图像处理与模式识别方面研究。

TP39

A

1009-0312(2016)05-0023-06

猜你喜欢

图像处理灰度边缘
采用改进导重法的拓扑结构灰度单元过滤技术
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
基于ARM嵌入式的关于图像处理的交通信号灯识别
基于图像处理的机器人精确抓取的设计与实现
机器学习在图像处理中的应用
基于最大加权投影求解的彩色图像灰度化对比度保留算法
一张图看懂边缘计算
基于灰度线性建模的亚像素图像抖动量计算
基于图像处理的定位器坡度计算
在边缘寻找自我