基于直方图均衡化的Robinson图像边缘检测算法
2016-11-17赵安科刘天时
赵安科,魏 雨,刘天时,徐 璐
(1.西安石油大学 计算机学院,西安 710065;2.中国人民解放军 61741部队,北京 100078)
基于直方图均衡化的Robinson图像边缘检测算法
赵安科1,魏 雨1,刘天时1,徐 璐2
(1.西安石油大学 计算机学院,西安 710065;2.中国人民解放军 61741部队,北京 100078)
针对图像边缘检测,现有Robinson相关算法存在效率低、阈值设定随机性大、易出现伪边缘等问题,提出一种改进Robinson的图像边缘检测算法;该算法利用直方图均衡化对图像进行增强,然后将Robinson算子原有的八方向梯度依照两两垂直原则组合为八组,分别计算每组梯度的范数,并取其最大值作为该像素点的梯度;最后取整幅图像的灰度均值作为阈值来识别图像的边缘像素和背景像素;实验表明,相对于现有相关算法,该算法检测结果更加清晰完整,同时避免了传统算子人为设定阈值随机性大的问题。
Robinson算子;边缘检测;直方图均衡化;灰度均值;高斯滤波
0 引言
在图像处理中,通常人们只关注图像的某些部分,将其称为目标或前景。而唯有将相关区域划分出来才能分辨出目标,图像分割就是为实现这一目标的技术和过程。其中,基于边界的图像分割是一种常见的方法,而边缘检测是所有基于边界的图像分割方法的第一步[1],也是图像分析中常见的操作之一[2]。
传统的边缘检测方法有Sobel算子[3-4]、Canny算子[5-6]、Prewitt算子[7]、Laplace算子[8]及小波变换[9-10]等。其中Robinson算子实现过程简单,所得边缘连续性好,但是仍存在以下缺陷:
1)由于Robinson算子通过8个方向模板对图像进行卷积运算,计算量大,处理速度慢,影响了边缘检测的效率[11];
2)检测结果边缘较粗,定位不准确,易损失边缘信息;
3)Robinson算子需要人为设定阈值,自动化和准确性不高[11]。
针对以上问题,本文通过减少模板数来降低计算量;采用灰度均值作为阈值来提高边缘识别率;增加细化处理,使得边缘检测结果更加清晰。
1 Robinson算子
Robinson算子是一种一阶导数边缘检测算子,利用像素点八个方向的灰度差在边缘处的极值来检测边缘。其原理是在空间中利用八个方向模板与图像进行邻域卷积。Robinson八个方向模板定义为:
2 改进Robinson算子
利用模板与图像进行邻域卷积运算时,考虑到各邻域点到中心像素点存在距离上的差别,决定采用加权邻域卷积运算。中心像素点与各邻域点之间对应的位置关系如图1所示(设相邻像素点的垂直或水平距离为1)。
模板元素与图像各像素之间的对应关系定义如下:
Mi(i=0,45,90,135,180,225,270,315)为i方向对应的模板,Bjk为坐标(j,k)处像素点及其周围八个方向像素点的灰度值。
图1 中心像素点与邻域点的对应位置关系
利用模板进行加权卷积,如下:
通过每个像素点的八个梯度分量可以计算该像素点的梯度值G(x,y):
由梯度值确定最终的灰度值,将各灰度值与阈值进行比较。灰度值大于阈值的像素点的像素设为1,表示边缘像素;反之设为0,表示背景像素。
3 改进的边缘检测算法
3.1 直方图均衡化
直方图均衡化是一种有效的的空间域图像处理方法,是图像增强、图像压缩和图像识别的基础[12]。直方图均衡化是利用图像直方图调整图像对比度的方法。其基本思想是以图像各灰度级概率的累积分布函数作为变换函数,将原图映射为一幅灰度级分布较均匀的图像。这样就增加了像素灰度值的动态范围,从而可达到增强图像整体对比度的效果[13]。
设变量r代表图像中像素的灰度级,直方图变换就是假定一个变换式:
(1)
也就是,通过上述变换,每个原始图像的像素灰度级r都会产生一个s值。变换函数T(r)应满足以下条件[14]:
1)T(r)在区间0≤r≤1中为单值且单调递增;
2)当0≤r≤1时,0≤T(r)≤1,即T(r)的取值范围与r相同。
对于离散值,处理其概率与求和,而不是概率密度函数与积分。一幅图像中灰度级rk出现的概率近似为:
(2)
其中:n是图像中像素的总和,nk是灰度级k的像素个数,L为图像中可能的灰度级总数。
(3)
3)式中变换函数的离散形式为:
(4)
式(4)给出的变换(映射)称为直方图均衡化或直方图线性化。
3.2 梯度改进
传统Robinson算子从0,π/4,π/2,3π/4,π,5π/4,3π/2,7π/4八个方向来计算像素点的梯度值,取其最大值作为该点的梯度值。本文则将这八个梯度值依照两两垂直的原则组合成八组,分别计算每组梯度的二范数,并取其最大值作为该点的梯度值。即将0,π/4,π/2,3π/4,π,5π/4,3π/2,7π/4八个方向的梯度值记为di(i=0,π/4,π/2,3π/4,π,5π/4,3π/2,7π/4),依照两两垂直原则将这八个梯度值组成8组(dji,dki), i=1,2,…8, ji=π/2×(i-1),ki=mod((3π/2+π/2×(i-1)), 2π),mod表示模运算,然后计算其二范数:
取‖Di‖2,(i=1,2,…8)的最大值作为该点的梯度。
3.3 阈值改进
传统Robinson算子采用人工方式设定阈值。但是人工设定阈值随机性大,若设置偏小,容易产生伪边缘;反之,容易使边缘间断。本文采用灰度均值作为阈值,也就是取所有像素点的平均灰度值作为阈值。即:
其中:T表示阈值,Q(i,j)表示坐标(i,j)处像素点的灰度值,M×N表示总像素数。最后把图像中所有像素点的灰度值与阈值进行比较,当其中任意一点灰度值大于或等于阈值时,该像素点的像素设为1,表示边缘像素;反之像素设为0,表示背景像素。即:
其中f(i,j)表示坐标(i,j)处像素点的像素,T表示阈值。
4 实验结果及分析
4.1 图像边缘检测
应用改进算法对图像进行边缘检测,具体步骤如下:
1)对预处理图像进行高斯滤波。边缘检测通常对噪声比较敏感,因此在边缘检测之前应先对图像进行预处理,如平滑处理或者边缘增强等。本文选用高斯滤波算法对图像进行滤波处理。高斯滤波的基本原理是对整幅图像进行加权平均,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。以此来完成对信号的平滑处理,消除噪声点。
2)直方图均衡化。直方图均衡化处理的中心思想是将集中在某个灰度区间的原图像直方图转变成均匀分布在整个灰度范围,使一定灰度范围内的像素数基本相同,从而达到增强图像整体对比度的效果。
3)对各个像素点采用八个模板进行卷积操作,求出其八个方向的梯度值di(i=0,π/4,π/2,3π/4,π,5π/4,3π/2,7π/4)。
4)将八个梯度依照两两垂直原则组合成8组(dji,dki),其中,i=1,2,…8, ji=π/2×(i-1),ki=mod((3π/2+π/2×(i-1)), 2π)。求每组梯度的二范数,并取其最大值作为该点梯度值。
5)计算每个像素点最终的灰度值,将所有像素点的灰度均值作为阈值,并根据阈值来识别边缘像素点和背景像素点。
图像边缘检测的流程如图2所示。
图2 算法流程图
4.2 实验结果
分别采用文献[15-17]中改进的边缘检测算法与本文算法进行实验对比,对比结果如图3~图5所示。
图3 本文与文献[15]算法比较
从图3可以看出,相对于(b)图而言,(c)图检测结果改善显著,边缘更为清晰,线条更加完整。尤其人物面部及背景部分,在(c)图检测结果中可以较为清晰地凸显,但在(b)图中结果并不理想。
图4 本文与文献[16]算法比较
如图4所示,(c)图检测结果相比于(b)图更清晰完整,如图中“1”标记部分所示。特别对于一些细节部分,(c)图取得了较好的检测结果,如图中“2”、“3”标记部分所示。
从图5可以看出,(b)图检测结果丢失了背景信息,而(c)图不仅检测出了叶子的主要部分,而且检测出背景部分,这对于一些特殊领域了解事物的相关知识具有重要意义。
图5 本文与文献[17]算法比较
4.3 结果分析
改进算法首先对图像做直方图均衡化处理,使图像整体对比度增强;然后将8个方向梯度依照两两垂直原则组合并分别求二范数,使边缘检测效果更加显著;最后取灰度均值作为阈值,灰度均值代表了图像整体的灰度水平,相比于传统的人工设定阈值检测,结果更加准确,并且避免了因人工设定阈值随机性大而可能引发的伪边缘或者边缘间断的现象。
5 结束语
改进算法将原Robinson八个方向梯度依照两两垂直原则组合并分别求二范数,这样可以增强边缘检测效果。另外,该算法取灰度均值作为阈值,有效避免了传统人工设定阈值随机性大的问题。实验结果表明,本文改进的算法在边缘检测中优于现有边缘检测算子,边缘检测结果更为清晰准确,边缘线条更加完整,特别是对于纹理信息丰富、灰度变化率较大的图像检测结果改善最为突出。
[1] 章毓晋. 图像处理基础教程[M]. 北京:电子工业出版社, 2012.
[2] Parker J R. Algorithms for image processing and computer vision[M]. John Wiley & Sons, 2010.
[3] Halder S, Bhattacharjee D, Nasipuri M, et al. A fast FPGA based architecture for sobel edge detection.Progress in VLSI Design and Test[M]. Springer Berlin Heidelberg, 2012: 300-306.
[4] Zhang H, Zhu Q, Guan X. Probe into Image Segmentation Based on Sobel Operator and Maximum Entropy Algorithm[A]. 2012 International Conference on Computer Science & Service System (CSSS)[C]. IEEE, 2012: 238-241.
[5] 李俊山, 马 颖, 赵方舟, 等. 改进的Canny图像边缘检测算法[J]. 光子学报, 2011, (40): 50-54.[6] McIlhagga W. The canny edge detector revisited[J]. International Journal of Computer Vision, 2011, 91(3): 251-261.
[7] Garcia-Lamont J. Analogue CMOS prototype vision chip with prewitt edge processing[J]. Analog Integrated Circuits and Signal Processing, 2012, 71(3): 507-514.
[8] Fiorio C, Mercat C, Rieux F. Adaptive discrete Laplace operator[M]. Advances in Visual Computing. Springer Berlin Heidelberg, 2011: 377-386.
[9] 唐 祚, 闫德勤, 刘彩凤. 基于小波变换的脑部医学Demons图像配准[J]. 计算机测量与控制, 2015, 23(7): 2515-2517.
[10] Gai S, Yang G, Wan M, et al. Hidden Markov tree model of images using quaternion wavelet transform[J]. Computers & Electrical Engineering, 2014, 40(3): 819-832.
[11] 赵 磊, 陈 琼, 陈 中. 一种新的改进OPTA细化算法[J]. 计算机应用, 2008, 28(10): 2639-2642.
[12] 张 懿, 刘 旭, 李海峰. 自适应图像直方图均衡算法[J]. 浙江大学学报(工学版), 2007, 41(4):630-633.
[13] 扈佃海, 吕绪良, 文刘强. 一种改进的直方图均衡化图像增强方法[J]. 光电技术应用, 2012, 27(3):65-68.
[14] 姜柏军, 钟明霞. 改进的直方图均衡化算法在图像增强中的应用[J]. 激光与红外, 2014, 44(6):702-706.
[15] 魏本征, 赵志敏, 华 晋. 基于改进形态学梯度和Zernike矩的亚像素边缘检测方法[J]. 仪器仪表学报, 2010, 31(4):838-843.
[16] 孙根云, 柳钦火, 刘 强, 等. 图像的模糊边缘检测算法[J]. 光电工程, 2007, 34(7):141-144.
[17] 李 杰, 彭月英, 元昌安, 等. 基于数学形态学细化算法的图像边缘细化[J]. 计算机应用, 2012, 32(2):514-515.
Edge Detection Algorithm Robinson Based on Histogram Equalization
Zhao Anke1, Wei Yu1, Liu Tianshi1, Xu Lu2
(1.School of Computer Science, Xi′an Shiyou University, Xi′an 710065, China;2.Unit 61741 of Chinese People’s Liberation Army, Beijing 100078,China)
Aiming at the defects of low efficiency, high randomicity of manual threshold and the false edge of the existing Robinson related algorithms, this paper proposes an edge detection algorithm based on the improved Robinson. It adopts histogram equalization to enhance the image. Then it groups the traditional eight direction gradients of single pixel point into eight groups in accordance with the paired vertical principle, calculates the norm of each gradient group respectively, and takes the maximum as the gradient of the pixel. Finally, it takes the mean gray value of the whole image as the threshold to identify the edge pixels and background pixels. The experimental results show that, comparing with the existing related algorithms, the detection result of improved algorithm is more complete and clearer. In addition, it avoids high randomicity of traditional manual threshold.
Robinson operator; edge detection; histogram equalization; mean grey; Gauss filtering
2016-01-06;
2016-01-29。
2015年度陕西省工业科技攻关项目(2015GY026)。
赵安科(1963-),男,陕西宝鸡人,讲师,主要从事计算机应用、人工智能、数据挖掘、网络信息安全、数据库方向的研究。
刘天时(1960-),男,陕西西安人,博士,教授,主要从事计算机应用技术、通信与信息系统方向的研究。
1671-4598(2016)06-0230-03
10.16526/j.cnki.11-4762/tp.2016.06.063
TP391.4
A