基于灰度共生矩阵的边缘检测方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于灰度共生矩阵的边缘检测方法
杨浩;罗扬
【摘要】对传统的边缘检测算子进行了分析,指出了存在的不足;同时针对目前的纹理分析算法普遍存在计算复杂、运行时间过长的缺点,通过将纹理分析的思想和传统的边缘检测算子相结合,提出了一种基于灰度共生矩阵的边缘检测新方法.该方法对图像进行纹理分析后自适应地选择模板,因此很好地保持了图像边缘的细节并且抑制了噪声.通过MATLAB仿真实现,结果表明由灰度共生矩阵产生纹理特征能有效地描述火焰的纹理特征,具有较好的鉴别能力.
【期刊名称】《智能计算机与应用》
【年(卷),期】2012(002)006
【总页数】3页(P43-45)
【关键词】灰度共生矩阵;边缘检测;纹理分析;梯度算子
【作者】杨浩;罗扬
【作者单位】南华大学计算机科学与技术学院,湖南衡阳421001;南华大学计算机科学与技术学院,湖南衡阳421001
【正文语种】中文
【中图分类】TP391
0 引言
图像的边缘是指图像局部强度变化最显著的部分,往往是由图像中景物的物理特性
发生变化而引起的。
边缘检测就是检测图像局部特征值(如灰度等)不连续或变化较为剧烈的像素点,把这些点连接起来就形成物体的边缘。
通常可将边缘检测的算法分为两类:基于查找的算法和基于零穿越的算法。
基于查找的方法是指通过寻找图像一阶导数中的最大和最小值来检测边界,通常将边界定位在梯度最大的方向。
基于零穿越的方法是指通过寻找图像二阶导数零穿越来确定边界,景刚是拉普拉斯过零点或者非线性差分表示的过零点。
基于一阶导数的边缘检测算子包括Roberts算子、Sobel算子、Prewitt算子[1]等,基于二阶
导数的边缘检测算子主要是高斯-拉普拉斯边缘检测算子。
除此之外,还有Canny边缘检测算法、统计判别方法等。
但是上述算子仅仅只是考虑某一特性进
行检测,因而无法适应图像丰富多样的各式变化。
大量的实验表明,纹理是图像固有的特征之一,是灰度(对彩色图像而言则是颜色)在空间以一定的形式变换而产生的图案(模式),而且具有一定的周期性。
既然纹理区域的像素灰度级分布具有一定的形式,而直方图正是描述图像中像素灰度级分布的有效工具,因此可选用直方图来对纹理进行描述就成为了此问题的基本解决思路。
图像纹理分析方法在最近几年大量地涌现,其中常用的主要有基于傅里叶变换、基于小波变换等等方法[2-3]。
通过如上的纹理分析方法可以得到有关纹理的相应特征,如纹理的粗细、疏密、一致性等,这些特征在一定程度上均表征了图像某个局部区域内边缘的部分特征。
1 灰度共生矩阵的定义
1973年,Haralick[4]等人提出了用灰度共生矩阵来描述纹理特征的方法。
灰度共生矩阵[5]表达的是具有某种空间位置关系的两个像素的联合分布,可将其看成是
两个像素灰度对的联合直方图,因而是一种二阶统计量。
通常用Pd(i,j)来表示
灰度共生矩阵,如果灰度级为L,则Pd(i,j)为一个L*L的方阵。
方阵中的元素
可表示为:Pd(i,j),(i,j=0,1,2,…,L-1),对其含义则可陈述为,具有空间位
置关系d=(Dx,Dy)并且灰度分别为i和j的两个像素出现的次数或概率(归一化)。
常用的空间位置关系d有水平、竖直和正、负45°之分,总共4种,如图1所示。
空间位置关系d确定后,就可以生成与d对应的灰度共生矩阵Pd(i,j)。
Pd(i,j)的数字表达式如下:
共生矩阵中,每个元素均代表了某种灰度组合下出现的次数,例如元素Pd(1,0)就代表了图像上位置关系为d的,且两个像素灰度分别为1和0的情况总共出现
的次数。
2 特征参数的选择
灰度共生矩阵提供了图像灰度方向、间隔和变化幅度的信息,因而可根据共生矩阵来计算一些对应的特征值,并以这些特征值来表征图像的纹理信息。
但是由于灰度共生矩阵不能直接用于描述图像的纹理,基于这种状况,又定义了一些统计量来提取其所反映的纹理特征。
由Ulaby[5]等人研究发现:在基于GLCM的14个纹理
特征中,仅有4个[6]特征是不相关的。
本文即以其中的二阶距作为特征参数,并
将其应用到边缘提取中。
二阶距的数学表达式为:
由式(2)可知,二阶距是灰度共生矩阵元素的平方和,反映了图像灰度分布的均匀程度和纹理粗细度。
当共生矩阵中元素集中分布时,f1值较大;反之,当共生
矩阵中元素分散分布时,f1值较小。
3 本方算法的提出
对于纹理疏密程度不同的图像,传统边缘检测算子都是采用固定的模板。
这样,对
于纹理密集的区域,如果采用大模板,就无法区分边缘的细节;而对于纹理稀疏的区域,如果采用小模板,又容易受到噪声影响。
基于对传统边缘检测算子存在问题的分析,本文根据纹理变化所表现出的边缘特征,将灰度共生矩阵与传统的边缘检测算子相结合,提出了一种基于灰度共生矩阵的边缘检测方法。
该方法将边缘的纹理疏密程度与模板大小相对应,依据纹理疏密程度选择不同的模板,使模板的选择具有了一定的自适应性。
4 纹理复杂度
由于灰度共生矩阵Pd(i,j)总共含有L*L个元素,当灰度级L比较大时,就是一个庞大的方阵。
如对于通常的256灰度图,Pd(i,j)就是一个256*256的矩阵,共216个元素。
如此规模的矩阵则将使后续的计算量剧增。
因此一般情况下,灰度图像都是要经过处理以减少灰度级数,而后再计算生成灰度共生矩阵的。
而文中对该过程的实现则是,通过分析纹理图像的直方图,在尽量不影响纹理质量的情况下,进行适当的灰度变换以实现灰度级的压缩。
进一步地考虑到模板选取与图像的局部特征相关的基本情况,本文提出了一种以图像中边缘信息作为纹理复杂度的度量新方法,可凭此来计算图像空间域中各点的纹理复杂度。
对图像空间域中的一点取窗口大小为m×n,求其灰度直方图。
计算公式如下:
其中,E0表示能量分布峰值的点的个数。
5 纹理的疏密与模板大小的选择
本文中的算法将纹理分为:密集、稀疏、很稀疏。
对不同的区域分别使用对应大小的模板:对密集区域选择的模板大小是3,稀疏区域选择的是5,而很稀疏的区域选择的则是7。
做这种选择,可以使得:当选择小模板时,边缘细节不致丢失,而选择大模板时,也能保持边缘方向和图像平滑。
在实验中,纹理的疏密程度和模板大小都是影响本算法的重要因素,因而可以根据具体的情况,适当调整纹理疏密程度
和模板大小的对应关系。
该过程的计算公式如下:
式中,Grad(i,j)表示像素(i,j)的梯度,small(i,j),middle(i,j)和big(i,j)分别表示使用小,中和大模板所求得的对应像素的梯度值,T1和T2则表示纹理
复杂度的域值。
6 具体算法
算法步骤如下:
(1)首先,对输入的图像进行滤波,其目的是去噪,同时实现边缘平滑和改善分割效果;
(2)其次,对滤波后图像空间域中的每一点,以该点作为中心,取滑动窗口
16*16,做二阶距计算;
(3)经二阶距计算后得到能量谱的直方图,统计最大的峰值和窗口内像素点个数,并利用公式(3)求出其纹理复杂度;
(4)然后,根据公式(4),对图像空间域中的每一点选择模板,求取梯度;(5)最后,对图像空间域中的每一点都进行步骤(2)~(4)的操作。
算法流程如图2所示。
7 实验结果及分析
采用matlab实现本文提出的算法并与传统的边缘检测算子做一比较,传统算子选用的是Robert算子和Canny算子。
实验检测结果如图3所示,由图3可以看出,Robert算子在脸和帽子处有漏检现象,检测的边缘连续性较差;Canny算子对女士的边缘检测较完整,但是由于对噪声比较敏感,在脸和头发处生了许多假边缘,影响了算法执行的效率。
本文针对火焰图像存在较多噪声的特点,采用基于灰度共生矩阵的边缘检测方法,所得到的火焰边缘较清晰,且定位准确,边缘提取效果更为显著。
参考文献:
[1]GONZALEZ C,WOODS R E.数字图像处理[M].北京:电子工业出版社,2003.
[2]ZHOU F,SHI J Q.Texture feature based on local fourier transform[J].IEEE International Conference on Image,Processing,2001,17(2):610-613.
[3]朱萄华,杨新,李俊,等.基于纹理分析的保细节平滑滤波器[J].中国图象图形学报,2001,6A(11).
[4]HARALICK R M,SHANMUGAM K.Texture features for image classification[J].IEEE Trans,On Sys,Man,and Cyb,1973,SMC-3(6):610-621.
[5]ULABY FT,KOUYATE F,BRISCO B,et al.Textural information in SAR Image[J].IEEE Transactions on Geoscience and Remote Sensing,1986,24(2):235-245.
[6]杨帆.数字图像处理与分析[M].北京:北京:航空航天大学出版社,2007,277-281.。