《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 橡胶圈缺陷检测算法研究
橡胶圈缺陷检测算法研究
来源:微型机与应用2010年第22期
朱红莉1, 朱红岩2
(1. 河南工业大学 信息科学与工程学院,河南 郑州450001;2. 合肥工业大学 电气与自动化工
摘要: 提出了一种基于数字图像处理的边缘检测算法,分别利用Sobel算子和Canny算子对预处理后的图像进行边缘检测,将所得图像进行图像相加,并用Matlab进行仿真。结果表明,该算法比单一边缘检测算子检测效果要好,并具有良好的检测精度。
Abstract:
Key words :

摘  要: 提出了一种基于数字图像处理的边缘检测算法,分别利用Sobel算子Canny算子对预处理后的图像进行边缘检测,将所得图像进行图像相加,并用Matlab进行仿真。结果表明,该算法比单一边缘检测算子检测效果要好,并具有良好的检测精度。
关键词: 数字图像处理;橡胶圈自适应中值滤波;Sobel算子;Canny算子

    图像的边缘是指图像灰度值的不连续点或变化剧烈的点的集合,橡胶圈边缘检测是要提取缺陷和背景的边界线。工业用橡胶圈在生产过程中不可避免地会出现各种各样的缺陷,例如切割不平、厚度不均、毛边和气泡等。本文以橡胶圈的气泡缺陷为例,提出了一种基于数字图像处理的混合边缘检测算法,并给出了分析过程与实验结果[1]。
1 算法研究
    目标图像一般都含有噪声,所以在边缘检测前必须进行图像预处理以消除噪声,然后再对其分别用Sobel算子和Canny算子进行边缘检测,最后把两者结果相加,即得到较好的检测效果。算法框图如图1所示。

1.1 图像预处理
    橡胶圈图像在拍摄、存储、传送的过程中会受到噪声的污染,从而导致图像出现失真、模糊等退化现象。常用的滤波算法有均值滤波、维纳滤波、自适应中值滤波等。实验证明,自适应中值滤波能有效去除橡胶圈图像噪声,更为重要的是,在去除噪声的同时,自适应中值滤波还能保护图像细节[2]。所以本文采用自适应中值滤波来进行图像预处理。实验效果如图2所示。

1.2 边缘检测
1.2.1 Sobel算子边缘检测

    基于微分方法的边缘检测算子包括Roberts算子、Prewitt算子、Sobel算子、Laplacian算子、LoG算子等,其中前三者是基于一阶导数的边缘检测算子,后两者是基于二阶导数的边缘检测算子。在算法实现过程中,通过模板与图像中的每个像素点做卷积和运算,然后选取合适的阈值以提取边缘。一阶导数和二阶导数的不同在于,一阶导数认为最大值对应边缘位置,而二阶导数则以过零点对应边缘位置。
    基于微分方法的边缘检测算子中,Roberts算子采用对角线方向相邻两像素之差近似梯度幅值检测边缘,检测水平和垂直边缘效果好于斜向边缘,定位精度较高,但对噪声敏感。Prewitt算子和Sobel算子是实践中最常用的两种算子,两者都是利用像素点上下、左右邻点的灰度加权算法,根据在边缘点处达到极值这一原理来检测边缘。Prewitt算子实现起来更为简单,但在抑制噪声方面不如Sobel算子。Sobel算子能够较为精确地检测出边缘点,对噪声具有平滑作用,但检测出的边缘较宽。
    Laplacian算子是一种线性二阶微分算子,对噪声非常敏感,一般不直接用于边缘检测。LoG算子是Laplacian算子的改进方式,它选用Gaussian函数对图像进行平滑滤波,然后对平滑后的图像进行Laplacian运算。使用Laplacian算子是为了提供一幅能确定边缘位置的图像。
    Sobel算子是一组方向算子,从不同的方向检测边缘。方向算子是利用一组模板对图像中的同一像素求卷积,选取其中最大的值作为边缘强度,而将与之对应的方向作为边缘方向。
    其梯度为:
 
    一幅图像的3×3区域如图3所示,其中z是图像的灰度值,则Sobel算子模板如图4所示,用以实现上述梯度公式。

    Prewitt算子是平均滤波,而Sobel算子是加权平均滤波。在Prewitt算子中像素邻域与当前像素产生的影响是等价的,而Sobel算子中邻域像素与当前像素的距离有不同的权值,一般距离越小,权值越大。Sobel算子的权值2意味着通过增加中心点的重要性来达到一些平滑效果,由于引入了平均因素,因而对图像中的随机噪声有一定的平滑作用。Sobel算子是相隔两行或两列之差分,所以边缘两侧元素得到了增强,边缘显得粗而亮[3]。
    实验证明,当阈值设为0.017时,用Sobel算子对橡胶圈缺陷检测效果最好。而上述其他算子均不能有效检测出橡胶圈图像的缺陷边缘。
1.2.2 Canny算子边缘检测
    在图像边缘检测中,抑制噪声和边缘精确定位是无法同时满足的,边缘检测算法通过平滑滤波去除图像噪声的同时,也增加了边缘定位的不确定性;反之,提高边缘检测算子对边缘的敏感性的同时,也提高了对噪声的敏感性。Canny算子在抗噪声干扰和精确定位之间寻求最佳折中方案[4]。
    Canny算子边缘检测的原理与上述几个不同,它不是通过微分算子检测边缘,而是在满足一定约束条件下推导出边缘检测最优化算子。
    Canny算子边缘检测的基本原理是:采用二维高斯函数的任意方向上的一阶导数为噪声滤波器,通过与图像卷积进行滤波;然后对滤波后的图像寻找图像梯度的局部极大值,以确定图像边缘。Canny算子是一种最优边缘检测算子,其实现检测图像边缘的步骤与方法如下:(1)选择一定的高斯滤波器平滑图像,抑制图像噪声,然后计算滤波后图像梯度的幅值和方向;(2)对梯度幅值应用非极值抑制,寻找图像梯度中的局部极值点,把其他非局部极值点置零以得到细化的边缘,再用双阈值算法检测和连接边缘,实现边缘提取。
    Canny算子边缘检测的三条准则是[5]:
    (1)低误判率,既要尽可能地检查出真实的边缘,同时又要尽量避免检测中出现的虚假边缘;
    (2)高定位精度,即检测出的边缘位置要尽量接近真正的边缘位置;
    (3)对同一边缘要有低的响应次数,即同一边缘产生多个响应的概率要低[6]。
    实验证明,当阈值设为0.08时,用Canny算子对橡胶圈缺陷检测效果最好。
1.2.3 图像相加
    Sobel算子对灰度渐变的图像处理较好,这点在橡胶圈缺陷检测中得到了验证。Sobel算子对垂直和水平方向上的边缘有较好的检测结果,但对其他方向的检测效果一般,且对边缘的定位不是很准确,图像的边界宽度要大于或等于2个像素。
    Canny算子虽然是基于最优化思想推出的边缘检测算子,但实际效果并不一定最优。Canny算子也会将一些高频边缘平滑掉,造成边缘丢失[4]。
    橡胶圈缺陷的灰度和橡胶圈的灰度非常接近,对比度较低,边缘两侧的灰度变化不明显。经过大量实验,发现Sobel算子和Canny算子对橡胶圈的缺陷检测有较好的效果,但又有些瑕疵,如果把二者检测结果相加,可以使两者的优势互补,能大大提高边缘检测的效果,取得令人满意的结果。
2 实验结果与分析
    图5(a)为Sobel算子的边缘检测结果,图5(b)为Canny算子的边缘检测结果,图6为两者相加的结果。可以看出,由于橡胶圈缺陷部分和背景部分灰度非常相近,边缘检测难度较大,因此尽管分别采用了对灰度渐变处理效果较好的Sobel算子和最优边缘检测算子——Canny算子,但边缘检测的结果仍不是很理想。而图6所示的混合边缘检测结果要明显优于图5,缺陷边缘被清晰地分割出来,并且没有出现受到噪声干扰的伪边缘。

    本文讨论了橡胶圈缺陷检测算法,分析了几种常用算法的优缺点,提出了一种基于Sobel算子和Canny算子的混合边缘检测算法,并用Matlab软件进行了实验仿真,证明了其检测精度要高于传统的边缘检测算子。
参考文献
[1] 刘春,利新琴,鲁昌华,等. 密封橡胶圈凸点缺陷检测的研究[J]. 电子测量与仪器学报,2008(增刊):178-181.
[2] GONZALEZ R C, WOODS R E. 数字图像处理 [M]. 阮秒琦,阮宁智,译.北京:电子工业出版社,2007.
[3] 蔡立晶,蔡立娟,杨立.基于指纹图像边缘检测算法的比较研究[J]. 中国新技术新产品,2009(1):3-4.
[4] 姚敏.数字图像处理[M].北京:机械工业出版社,2006.
[5] 秦襄培.Matlab图像处理与界面编程宝典[M].北京:电子工业出版社,2009.
[6] 田岩,彭复原. 数字图像处理与分析[M].武汉:华中科技大学出版社,2009.

此内容为AET网站原创,未经授权禁止转载。