边缘检测性能(精选八篇)
边缘检测性能 篇1
边缘检测是图像处理和计算机视觉中的基本问题和重要环节,尤其是特征提取中的一个重要研究领域。图像边缘检测可以大幅度地减少数据量,并且可以剔除与图像处理不相关的信息,保留图像重要的结构属性。然而,由于实际景物图像的边缘往往是各种类型的边缘及它们模糊化后结果的组合,且实际图像信号存在着噪声[1]。噪声和边缘都属于高频信号,很难用频带做简单取舍。所以,边缘检测又是图像处理中的一个难题[2]。目前常用的边缘检测算法没有哪一种具有绝对的优越性。因此,对各种边缘检测算法的性能进行比较分析,根据图像边缘的特征和噪声的特征以及噪声在图像中的分布情况选择比较合理的边缘检测算法来进行边缘检测显得尤为重要。本文具体比较研究了7种常用的边缘检测算子的特点和性能。
1 常用的边缘检测算法简介
边缘是指图像中周围像素灰度有阶跃变化或屋顶变化的那些像素的集合[3]。在图像处理过程中,边缘能大大地减少要处理的图像信息而又可以保留图像中物体的形状信息。边缘检测的目的是为了标识数字图像中亮度变化明显的点。边缘检测可以划分为两类:基于查找和基于零穿越的边缘检测。基于查找的方法通过寻找图像一阶导数中的最大和最小值来检测边界,通常是将边界定位在梯度最大的方向。基于零穿越的方法通常采用Laplacian过零点或者非线性差分表示的过零点来进行边缘检测[4]。对常用的七种边缘检测算法简介如下[5]:
Zero-Cross用两个不同参数的高斯函数的差来近似地对图像作卷积操作,通过寻找图像的二阶导数零穿越来寻找图像边界,从而检测出图像的边缘点。
Roberts算子采用对角线方向相邻两像素之差近似的梯度幅值来检测边缘。算子定位比较精确,但由于不包括平滑,所以对于噪声比较敏感,检测水平和垂直边缘的效果好于斜向边缘,定位精度高,对噪声敏感。
Sobel算子根据图像的像素点上下、左右邻点灰度加权差在边缘处达到极值这一现象来检测边缘。算子对噪声具有平滑作用,能提供较为精确的边缘方向信息,边缘定位精度不够高。当对精度要求不是很高时,是一种较为常用的图像边缘检测方法。
Prewitt算子边缘检测的思路与Sobel微分算子的思路类似,是在一个奇数大小的模板中定义其微分运算。算子对噪声具有平滑作用,定位精度也不够高。
Laplacian算子是二阶微分算子,利用边缘点处二阶导函数出现零交叉原理来检测图像的边缘。算子不具方向性,对灰度突变比较敏感,定位精度高,同时对噪声比较敏感,且不能获得边缘方向等信息。
Guassian滤波器方法通过检测二阶导数过零点来判断图像边缘点。Guassian滤波器中的σ正比于低通滤波器的宽度,σ越大,平滑作用越显著,去除噪声效果越好,但图像的细节损失也越大,检测出来的图像边缘精度也就越低。由于在边缘定位精度和消除噪声级之间存在着矛盾,所以应该根据具体问题对噪声水平和边缘点定位精度要求适当选取σ。
Canny方法则是以一阶导数为基础来判断图像的边缘点。它是一阶传统微分中检测阶跃型边缘效果最好的算子之一。它比Roberts算子、Sobel算子和Prewitt算子极小值算法的去噪能力都要强,并能产生较细的边缘,但它也容易平滑掉一些边缘信息。
2 实验结果及分析
通过对经典边缘检测算子的实验结果得到:阈值自动赋值时,7种算法都能够检测出图像边缘;而Laplacian和Zero-Cross算子因其所得幅值相对小,当选择较大的阈值时,边缘信息可能部分或全部丢失;Roberts算子和Laplace算子定位精度较高;Roberts算子检测垂直和水平方向的阶跃边缘、线的效果比检测斜向阶跃边缘、线的效果好,保留住了矩形的角点,而Sobel和Prewitt算子则不及,尤其是Prewitt算子基本丢失了角点信息;Sobel和Prewitt算子检测斜向阶跃边缘、
线的效果较好,保留住了三角形的角点。由此得出以下结论:
1)Roberts算子简单直观,Laplacian算子利用二阶导数零交叉特性检测边缘。Roberts算子和Laplacian算子定位精度较高,但对噪声较为敏感。Laplacian算子只能获得边缘位置信息,不能得到边缘的方向等信息。
2)Prewitt算子和Sobel算子都是一阶的微分算子,而前者是平均滤波,后者是加权平均滤波且检测到的图像边缘可能大于两个像素。这两者对灰度渐变低噪声的图像有较好的检测效果,但是对于混合多复杂噪声的图像,处理效果就不理想了。Prewitt算子和Sobel算子对噪声具有较好的平滑作用,能滤除一些噪声,去掉部分伪边缘,但同时也平滑了真正的边缘;定位精度不高。Sobel算子可提供最精确的边缘方向估计。
3)Sobel算子、Prewitt算子检测斜向阶跃边缘效果较好,Roberts算子检测水平和垂直边缘效果较好。
4)Roberts算子检测垂直和水平方向的阶跃边缘、线的效果比检测斜向阶跃边缘、线的效果好,保留住了矩形的角点,而Sobel和Prewitt算子则不及,尤其是Prewitt算子基本丢失了角点信息。而Sobel和Prewitt算子检测斜向阶跃边缘、线的效果较好,保留住了三角形的角点。
5)Guassian滤波器方法比Canny方法具有更好的边缘检测效果。Zero-Cross滤波器方法没有解决如何组织不同尺度滤波器输出的边缘图为单一的、正确的边缘图像的具体方法。
6)Canny算子对各种噪声图像最敏感。
7)Gaussian边缘检测算子对边缘变化突出处检测效果明显,且不容易受噪声干扰。
8)Sobel、Prewitt、Roberts边缘检测算子检测图像边缘时易出现“削顶”现象,即对图像顶部检测困难。
9)对比斑点、高斯、泊松、椒盐噪声图像,椒盐噪声图像对各种检测算子的检测效果影响最大,泊松噪声图像对各种检测算子的检测效果影响最小。
通过对检测结果进行比较得到表1和表2。
3 结束语
图像边缘检测的检测算子都不是具有绝对优势的方法,在图像的抗噪声、图像边缘的定位情况、是否可以检测出图像部分边缘和算法运行的速度等方面各自存在优缺点。由于图像数据是二维的,而实际物体是三维的,从三维到二维的投影必然会造成信息的丢失,再加上成像过程中的光照不均和噪声等原因的影响,使得有边缘的地方不一定能被检测出来,而检测出来的边缘也不一定代表实际边缘。实践时要根据不同的系统,针对不同的环境条件和要求,选择合适的算子来对图像进行边缘检测。
摘要:边缘检测是图像处理和计算机视觉中的重要的环节。文章具体考察了7种常用的边缘检测算子。根据实验结果对其特点和性能进行了比较研究。分析了各种边缘检测算子的特点,以及在处理各种噪声时,对各种边缘检测算法的检测效果进行了分类比较。在对各种图像进行边缘检测时,为选择检测算子提供指导。
关键词:边缘检测,图像处理,检测算子,噪声,检测效果
参考文献
[1]Kang Chung-Chia,Wang Wen-June.A novel edge detection method based on the maximizing objective function[J].Pattern Recognition(S0031-3203),2007,40(2):609-618.
[2]王智文,刘美珍,蔡启先,谢国庆.基于加权改进小波变换的图像融合算法[J],计算机工程,2009,35(11):228-230.
[3]John Canny.A Computational Approach to Edge Detection[J].IEEE Trans Pattern Analysis and Machine Intelligence,1986,10(12):679-697.
[4]马艳,张治辉.几种边缘检测算子的比较[J].工矿自动化,2004,1:54-56.
图像边缘检测相关算法研究 篇2
关键词:图像边缘检测;算法
中图分类号:TP301.6 文献标识码:A文章编号:1007-9599 (2010) 09-0000-01
Research on Image Edge Detection Algorithms
Zhang Benqun
(Guizhou Xingyi Normal University for Nationalities,Xingyi562400,China)
Abstract:In this paper,two types of image edge detection methods is firstly introduced.
Image edge judging indices,which are wrong detection rate and positioning accuracy,then illustrated.Finally,corresponding traditional image edge detection algorithms,such as Roberts Operator,Sobel Operator,LOG operator and Otsu Operator are all discussed in details.
Keywords:Image edge detection;Algorithm
作為计算机视觉的经典性研究课题,图像边缘的研究已有较长历史,涌现了许多方法,本文将这些方法分为两大类:①基于空间域上微分算子的经典方法。②基于图像滤波的检测方法,并论述其中一些经典的图像边缘检测算法。
一、两类图像边缘检测方法
(一)基于空间域上微分算子的经典方法。在阶跃型边缘的正交切面上,阶跃边缘点周围的图像灰度I(x)表现为一维阶跃函数I(x)=μ(x),边缘点位于图像灰度的跳变点。根据边缘点的特性,人们提出了基于图像灰度一阶导数、梯度、二阶导数以及更为复杂的LaPlace算子等提取图像边缘的方法。
(二)基于图像滤波的检测方法。在实际图像中,边缘和噪声均表现为图像灰度有较大的起落,同是高频信号,但相对来说边缘具有更高的强度。
二、图像边缘评价指标
为了评估边缘提取效果,人们提出了形式多样的评价指标,其中误检率和定位精度是两个最常用的指标。前者指实际边缘点漏检和虚假边缘点误检两种错误发生的概率。设原图像E(x,y)和滤波后图像的信噪比为SNR,当SNR大时,噪声对边缘检测的干扰小,真实边缘容易被检测,噪声引起的虚假边缘点相对减少,图像边缘的误检率降低;反之,当SNR小时,边缘的误检率将升高。由此可见,图像边缘的误检率是滤波后图像户的信噪比(SNR)单调下降函数,我们可以用图像的信噪比(SNR)近似表示图像边缘的误检率。用大尺度的滤波器去抑制原图像的噪声,可靠地识别噪声;而用小尺度滤波器为图像边缘精确定位。这就是常说的多尺度边缘提取算法。多尺度的图像边缘检测方法已成为图像边缘检测的重要发展方向。
三、几种经典的边缘检测算法论述
(一)Roberts算子。RobertS边缘检测算子根据任意一对互相垂直方向上的差分可用来计算梯度的原理,采用对角线方向相邻两像素之差,即:
(1)
有了△xf和△yf之后,很容易计算出Roberts的梯度幅值R(i,j),适当取门限T,作如下判断:R(i,j>T,(i,j)为阶跃状边缘点,{R(i,j)}为边缘图像。RobertS算子采用对角线方向相邻两像素之差近似梯度幅值检测边缘。它适合于得到方向不同的边缘,对不同方向的边缘都比较敏感,检测水平和万垂直边缘的效果好于斜向边缘,定位精度高。但是在进行差分计算的过程中对噪声敏感,即有噪声影响的像素点可能被检测为边缘点。
(二)Sobel算子。对数字图像{f(i,j)}的每个像素点,考察它上、下、左、右邻点灰度加权差,与之接近的邻点的权值大。定义Sobel算子如(2),其中卷积算子如(3)所示。取适当门限T,作如下判断:若S(i,j)>T,即(i,j)为阶跃状边缘点,{S(i,j)}为边缘图像。
S(i,j)=∣△xf∣+∣△yf∣=∣(f(i-1,j-1)+2f(i-1,j)+f(i-1,j+1)-f(i+1,j-1)+2f(i+1,j)+f(i+1,j+1))∣+∣(f(i-1,j-1)+2f(i,j-1)+f(i+1,j-1)-f(i-1,j+1)+2f(i,j+1)+f(i+1,j+1))∣(2)
(3) (4)
Sobel算子很容易在空间上实现,Sobel边缘检测器不但产生较好的边缘检测效果,而且受噪声的影响也比较少。
(三)LOG算子。前面介绍的梯度算子和拉普拉斯算子实际上都是微分或差分算法,因此算法对噪声十分敏感。所以,在边缘检测前,必须滤除噪声。Marr和Hildreth将高斯滤波和拉普拉斯边缘检测结合在一起,形成LOG(Laplace-Gauss)算法。LOG边缘检测器的基本特征是:1.平滑滤波器是高斯滤波器;2.增强步骤采用二阶导数(二维拉普拉斯函数);3.边缘检测判断依据是二阶导数零交叉点并对应一阶导数的较大峰值;4.使用线性内插方法在子像素分辨率水平上估计边缘的位置。
(四)Otsu算法。Otsu算法正是利用概率论的知识,通过计算最大类间方差而得到分割阈值的。
结束语:本文对相关的经典图像边缘检测算法进行了回顾和分析,并论述了其实用优势和不足,这些算法在实际的计算数学工程中,得到了广泛的应用,并不断被人们改进。
参考文献:
[1]朱红高.图像边缘检测技术研究现状[J].制造业自动化,2010,01
经典边缘检测算子及其抗噪性能研究 篇3
随着科学技术的发展, 图像处理已经广泛深入地应用于我们的日常生活中, 我们已然离不开数字图像处理这门技术。在工作、学习和生活中, 图像具有许多优于其他文字信息的特点, 比如说:直观, 简单, 方便, 易懂。所以随着我们社会的不断进步, 图像处理已经被广泛的运用于与我们息息相关的电子信息工程、生物医药工程, 军事边防工程和航天技术工程等方面。
边缘检测是图像分割最基础的内容, 它的边缘轮廓可以提供大量的信息, 而且能够剔除一些不相关的信息。所以, 图像的边缘检测在图像处理中有着举足轻重的地位。用于边缘检测的算子的选取, 则关系到我们研究系统的性能。
边缘检测的处理流程如图1所示。
经典的边缘检测方法各具特点, 但同时也存在一定的局限性。怎样正确选择图像处理中的边缘检测方法, 是一个需要深入研究的课题。本文对经典边缘检测算子进行了分析, 并用MATLAB对设定不同阈值的算子和抗噪性能进行了研究。
2 边缘检测方法及性能分析
经典的边缘检测算子有梯度算子、Laplacian算子、Canny算子和Log算子, 其中梯度算子又包含Roberts算子和Sobel算子等。
2.1 Robert算子
Roberts算子是一种局部差分算子。它可以表示为两个绝对值之和:
检测水平和垂直边缘, Roberts算子的效果较好, 但定位精度不够高, 对噪声很敏感, 图像处理后结果边缘不是很平滑。
2.2 Prewitt算子和Sobel算子
对于梯度算子Prewitt和Sobel, 它们也可用如式 (1) 的两个绝对值之和来表示:
在图像空间, Prewitt算子用两个方向模板 (检测水平与垂直边缘) 与图像进行邻域卷积, 对噪声具有平滑作用。
而Sobel算子可以看成, 将Prewitt算子中平均差分改为加权平均差分, 再进行平均差分。所以, 在进行边缘检测时, Sobel算子可以抑制噪声的影响。
2.3 Laplacian算子
梯度算子属于图像的一阶微分算子, 而Laplacian算子则是二阶微分算子, 它是各向同性的。对于离散的数字图像, Laplacian算子:
从Laplacian算子看出, 它可以使图像较暗区域的一个亮点变得更亮。Laplacian算子也增强了图像的噪声, 用Laplacian算子进行边缘检测时, 可将图像进行平滑处理。但是, 我们主要用这个算子来确定已知的边缘像素是在亮区还是暗区, 很少进行图像的边缘检测。
2.4 LOG算子
由于Laplacian算子对噪声具有无法接受的敏感性, 而且其幅值会产生双边缘。因此在运用Laplacian算子前先进行高斯低通滤波。
其中f (x, y) 为图像, G (x, y) 为高斯函数。
计算它的二阶偏导得:
(5) 式称为高斯-拉普拉斯算子, 简称LOG算子。LOG算子克服了Laplacian算子的低抗噪性, 但是也有可能将尖锐的边缘平滑, 导致无法被检测到。
2.5 Canny算子
Canny算子是边缘检测中的一种重要算子, 是利用局部极值检测边缘的方法。它的运算步骤可以归纳为 (图2) :
利用Canny算子进行检测时, 可以得到很好的边缘检测图像。它的边缘定位能力强, 缺点是对冲击噪声噪声的抑制能力差。现在出现了许多在传统的Canny算子上改进的边缘检测新方法, 这些新方法的检测效果更佳。
3 边缘检测算子的阈值影响及抗噪性能分析
本实验是基于MATLAB 7.8.0 (R2009a) 版本的edge函数中的几种经典算子, 针对同一图像用不同经典检测算子进行边缘检测。
3.1 默认阈值下的边缘检测
以300×246像素的硬币图像作为检测图像, 对上述几种经典算子在不设定敏感度阈值参数时, 其算子会自动计算阈值, 分别得出它们的阈值如表1。
用上面的梯度算子、LOG算子以及Canny算子通过MATLAB对图3 (a) 进行默认阈值的边缘检测, 得出的检测结果如图3 (b) ~ (f) 所示。
从我们上面总结的公式和图3可以看出, Roberts算子简单直观, 对水平和垂直方向检测定位精度高, 但对噪声敏感。Prewitt算子和Sobel算子检测斜向阶跃边缘效果较好, 因模板相对较大因而去噪能力强, 而它们的平滑作用使得定位精度不高。LOG算子边缘较模糊, 定位精度也不高, 且运算量较大, 不具备边缘方向检测能力。从总体效果来衡量, Canny算子给出了一种边缘定位精确性和抗噪声干扰性较好折中。
3.2 阈值设定对算子检测效果的影响
根据表1中的数据, 设定4个阈值:0.25、0.2、0.1、0.05, 对Roberts算子、Log算子和Canny算子进行不同固定阈值的边缘检测。图4~6为检测结果。
观察图4~图6, 可以看出: (1) 当设定阈值较大时, 除却Log算子, 其他几种算子检测效果都较好, 其中Canny算子检测效果最佳, Log算子检测图片几乎看不清。 (2) 当设定的阈值接近他们自动计算的阈值时, 检测效果最佳。Roberts算子和Log算子的边缘轮廓较为清晰, 得到的信息反馈也清楚。同样的, Canny算子在设定阈值接近自动计算的阈值时, 从图6仍然可以看出他的边缘周围有许多小点, 容易受噪声影响, 检测出来的边缘轮廓较模糊。 (3) 设定阈值较小时, 可以看出三种算子检测出的边缘相对完整, 但是都容易受噪声影响。
从实验我们可以得出:同一算子阈值越大, 边缘检测效果越差, 能提取到的边缘信息也越少。相反, 阈值越小, 能提取到的边缘轮廓越清晰, 但是, 受噪声影响比较大, 会对我们边缘信息的提取形成干扰。
3.3 各类算子抗噪性能分析
以叠加了椒盐噪声的图7 (a) 作为待检测图像, 图7 (b) - (f) 分别给出了上述几种经典算子的边缘检测结果。
从图7可以观察出:Roberts算子抗噪性能差, 对噪声敏感, 基本检测不出图像的边缘信息。Prewitte算子和Sobel算子有一定的去除噪声能力, 也能提供大量的边缘信息, 但定位精确度却有待提高。Log算子的边缘连续性好, 抗噪能力强, 但从图7 (e) 我们发现并没有得到理想中的效果, 问题在于需要选择合适的模板, 这一点使得我们的计算量增大。相比于Log算子, Canny算子具有更好的抗噪性能, 边缘定位也更准确, 但容易丢失图像的边缘细节。
4 结语
边缘检测的方法有很多, 本文主要对几种经典的边缘检测算子进行了性能介绍和研究了抗噪性能。利用MATLAB对各个算子进行检测, 得到各自的边缘图像, 找出对应的默认阈值, 并根据默认阈值对各个算子设定合适的阈值进行检测、比较, 最后分析了算子的噪声敏感度。虽然这几个经典算子要么定位精度不高, 要么抗噪能力差, 不能提供一个比较好的边缘检测方法, 但却是我们边缘检测方法的基础, 我们只有在掌握好这几种方法的情况下才能找出更适合边缘检测的新方法。
现在也有许多在此经典的算子上面又提出了新方法, 如小波多尺度边缘检测、数学形态学边缘检测、神经网络边缘检测等方法, 但仍然没有一个普遍适用的方法。所以, 边缘检测受到越来越多学者的关注, 也成为了当前的一个研究热点。希望在此基础上, 能找到一个边缘检测效果更佳的算法。
摘要:图像边缘检测是数字图像处理中的重要内容, 是指图像局部强度变化最显著的部分, 是图像分割、纹理特征以及形状特征等图像分析的重要基础。本文将介绍Roberts、Prewitt、Sobel、Laplacian、Log和Canny这几种经典的边缘检测算子, 通过MATLAB分析经典算子设定不同阈值的检测效果以及抗噪性能。
关键词:边缘检测,梯度算子,阈值,LOG算子,抗噪性能
参考文献
[1]刘小豫, 康世英.基于Matlab的经典边缘检测算法实现及分析[J].信息与电脑, 2014.10:121-122.
[2]邹福辉, 李忠科.图像边缘检测算法的对比分析[J].计算机应用, 2008.6:215-219.
[3]孙伟.基于FPGA的图像分割提取系统研究[D].南京:通信与信息系统, 2010.03.01.
[4]徐献灵, 林奕水.图像边缘检测算法比较与分析[J].自动化与信息工程, 2007.09.15:44-46.
[5]魏伟波, 芮筱亭.图像边缘检测方法研究[J].计算机工程与应用, 2006.3:16-21.
边缘检测算子的分析比较 篇4
数字图像的边缘检测是指数字图像中具有特定模式的灰度变化的定位、定向和度量。边缘检测在图象识别和计算机分析中扮演着重要的角色, 成为机器视觉研究领域最活跃的方向之一。因此, 图像边缘检测具有及其重要的研究价值和应用前景。
本文主要讨论几种常见的边缘检测方法, 如:罗伯特 (Robert) 边缘检测算子、Prewitt算子和Sobel算子、拉普拉斯 (Laplacian) 算子、Canny边缘检测算子。
(一) 检测算子
边缘检测是对灰度变化的度量与定位, 对图像曲面来说它的值的变化剧烈程度可以通过导数来度量, 边缘可以用连续图像f (x, y) 的梯度Δf来表示:
差分算子能够精确的获得一阶差分和二阶差分的边缘, 并且边缘往往在差分值最大处、最小处或过零点处发生。
图像可以表示成一个二维的离散化的灰度值函数f (x, y) , 边缘的强度就是在该点处沿着灰度变化最剧烈的方向的灰度变化率, 我们用梯度的模度量边缘的强度, 在点f (x, y) 处, 梯度的幅度可用下式表示:
为了降低计算量, 我们常用以下两种方法来取近似值:
1. 罗伯特 (Robert) 边缘检测算子
根据任一相互垂直方向上的差分都可用来估计梯度, Robert算子采用对角方向相邻两像素之差, 即
2. Prewitt算子和Sobel算子
为了在边缘检测中减少噪声的影响, 1970年Prewitt和Sobel分别提出Prewitt算子和Sobel算子。Prewitt算子加大了边缘检测算子的模板, 扩大到3*3来计算差分算子其计算式为:
Sobel算子从不同的方向检测边缘, 利用像素点上下、左右邻点的灰度加权算法, 根据在缘点处达到极值进行边缘的检测。其计算式为:
大量实验数据表明Sobel要比Prewitt更能准确检测图像边缘。
3. 拉普拉斯 (Laplacian) 算子
拉普拉斯算子是一种二阶微分算子, 若只考虑边缘点的位置而不用考虑周围的灰度差时可用该算子进行检测。对于阶跃状的边缘, 其二阶导数在边缘点出现零交叉, 并且边缘点两旁的像素的二阶导数异号。对数字图像的每个像素计算关于x轴和y轴的二阶偏导数之和∇2f (x, y) 。
其中S是以f (x, y) 为中心的邻点的集合, 可以是上、下、左、右4邻点或8邻点的集合或者是对角线4邻点的集合。
其对应的表达式为:
4. Canny边缘检测算子
Canny算子是一个具有滤波、增强和检测的多阶段的优化算子。在进行处理前, Canny算子先利用高斯平滑滤波器来平滑图像以除去噪声, Canny分割算法采用一阶偏导的有限差分来计算梯度的幅值和方向。在处理过程中, Canny算法还将经过一个非极大值抑制的过程。最后Canny算法将采用两个阈值来连接边缘。
将f (x, y) 与M (x, y) n进行卷积, 改变n的方向, 使 取最大值的方向就是梯度方向。
(二) 算子的比较
用MATLAB中的edge函数完成应用上述几种边缘检测方法的边缘提取, 并观察效果。
I=imread ('pout.tif') ;
H1=edge (I, 'robert') ;
H2=edge (I, 'prewitt') ;
H3=edge (I, 'sobel') ;
H4=edge (I, 'canny') ;
H5=edge (I, 'lo G') ;
figure (1) , imshow (I) ;
figure (2) , imshow (H1) ;
figure (3) , imshow (H2) ;
figure (4) , imshow (H3) ;
figure (5) , imshow (H4) ;
figure (6) , imshow (H5) ;
其检测结果如下图所示:
通过对检测结果进行比较, 得到下表:
(三) 结语
本文通过对几种典型的边缘检测算子进行详细的分析比较, 得出各边缘检测算子的优缺点以及适用范围, 为以后的科学研究以及实际应用提供了理论依据, 具有一定的参考价值。
摘要:通过对数字图像的几种典型边缘检测算子进行理论分析, 并用Matlab工具进行仿真, 提取图像轮廓;分析了各算子的效果, 得出各算子的优缺点。
关键词:图象处理,边缘检测,算子
参考文献
[1]赵春晖.现代图像处理技术及MATLAB实现[M].北京:人民邮电出版社, 2001.
[2]余成波, 数字图像处理及MATLAB实现[M].重庆:重庆大学出版社, 2003.
[3] (美) 冈萨雷斯.数字图像处理[M].阮秋琦, 等译.北京:电子工业出版社, 2003.
图像边缘检测分析与比较 篇5
1.1 基于灰度直方图的边缘检测
基于灰度直方图门限法的边缘检测是一种最常用、最简单的边缘检测方法。对检测图像中目标的边缘效果较好。图像在暗区的像素较多, 而其他像素的灰度分布比较平坦。为了检测出图像物体的边缘, 把直方图用门限T分割成两个部分, 然后对图像实施以下操作:
(1) 扫描图像的每一行, 将所扫描的行中每个像素点的灰度与T比较后得;
(2) 扫描图像的每一列, 将所扫描的列中每个像素点的灰度与T比较后得;
(3) 将与合并, 即得到物体的边界图像。
在以上过程中, 门限T的选择将直接影响边缘检测的质量。由于直方图往往很粗糙, 再加上噪声的影响更是参差不齐。这样就使得求图像极大、极小值变得困难。因此, 可以用两条二次高斯曲线对目标和景物所对应的峰进行拟合, 然后求二者的交点, 并作为谷底, 选取对应的灰度值为门限T, 或用一条二次曲线拟合直方图的谷底部分, 门限T可取为T=-b/2a。
1.2 基于梯度的边缘检测
梯度对应一阶导数, 梯度算子就是一阶导数算子。在边缘灰度值过渡比较尖锐, 且在图像噪声比较小时, 梯度算子工作的效果较好, 而且对施加的运算方向不予考虑。对于一个连续图像函数, 其梯度可表示为一个向量:
塄f (x, y) =[Gx, Gy]T=[鄣x鄣f, 鄣y鄣f]T
该向量的幅度和最大变化率出现时的角度分别为:
幅度有时会简化为
以上各式的偏导数需对每个像素的位置计算, 实际应用中常用小区域模板进行卷积来近似计算。对Gx和Gy各用一个模板, 将两个结合起来就构成一个梯度算子。根据模板的大小和元素值的不同, 已提出许多不同的算子, 常见的有Roberts算子、Sobel算子、Prewitt算子、Robinson算子、Kirsch算子等。
1.2.1 Roberts边缘检测算子
Roberts算子是数字图像处理中最古老的边缘检测器之一, 如图1所示, 它也是最简单的一种边缘检测算子。它是一个2×2模板, 利用局部差分检测比较陡峭的边缘, 但对于噪声较敏感, 经常会出现孤立点。
由于Roberts算子的明显缺陷, 人们又研究出了Sobel算子和Prewitt算子。这两种算子在求梯度之前, 首先进行邻域平均或加权平均, 然后进行微分, 就抑制了噪声, 但容易出现边缘模糊现象。
1.2.2 Sobel边缘检测算子
Sobel算子利用像素的上、下、左、右邻域的灰度加权算法, 根据在边缘点处达到极值这一原理进行边缘检测。该方法不但产生较好的检测效果, 而且对噪声具有平滑作用, 可以提供较为精确的边缘方向信息。但是, 在抗噪声好的同时增加了计算量, 而且也会检测伪边缘, 定位精度不高。如果检测中对精度的要求不高, 该方法较为常用。
1.2.3 Prewitt边缘检测算子
Prewitt边缘算子是一种边缘样板算子。样板算子由理想的边缘子图像构成, 依次用边缘样板去检测图像, 与被检测区域最为相似的样板给出最大值, 用这个最大值作为算子的输出。由图1中所示的两个卷积算子形成Prewitt边缘算子, 与使用Sobel边缘算子的方法一样, 图像中每个像素都用这两个核做卷积, 取最大值作为输出, 运算结果就是一幅边缘图像。适当取门限TH, 如果R (i, j) ≥TH则为阶跃边缘点。Robinson边缘算子也是一种边缘样板算子, 其算法和Prewitt边缘算子相似, 只是边缘样板不同。
1.2.4 Kirsch边缘检测算子
Kirsch算子是一个3×3的非线性算子, 它与Prewitt算子和Sobel算子不同的是取平均值的方法不同。用不等权的8个3×3循环平均梯度算子分别与图像进行卷积, 取其中的最大值输出, 它可以检测各个方向上的边缘, 减少了由于平均而造成的细节丢失, 但同时增加了计算量。
对于图像中的每一个像素 (i, j) , 它考察像素 (i, j) 的8个邻点的灰度变化, 用其中3个相邻邻点的加权和, 减去剩下5个邻点的加权和。令3个邻点环绕不断移位, 取其中差值的最大值作为Kirsch算子值。
其中, Sk为3个邻点的加权和, Tk为5个邻点的加权和。
1.3 基于二阶微分的边缘检测方法
1.3.1 Laplacian边缘检测算子
为了突出增强图像中的孤立点、孤立线或线端点, 在某些实际用途中常采用拉普拉斯算子, 连续函数的拉普拉斯算子是一个二阶微分算子, 其数学形式为:
由于Laplacian算子是一个二阶导数, 它将在边缘处产生一个陡峭的零交叉。Laplacian算子是一个线性的、移不变算子, 它的传递函数在频域空间的原点为零。因此, 一个经Laplacian滤波过的图像具有零平均灰度。
如果一个无噪声图像具有陡峭的边缘, 可用Laplacian算子将它们找出来。对经Laplacian算子滤波后的图像用零灰度值进行二值化会产生闭合的、连通的轮廓, 并消除了所有的内部点。
但由于噪声的存在, 二阶导数对噪声具有无法接受的敏感性, 它的幅度会产生双边缘 (不适合检测边缘, 但可用于边缘定位) , 而且还不能检测边缘的方向。因此, Marr提出首先对图像用Gauss函数进行平滑, 然后利用Laplacian算子对平滑的图像求二阶导数后得到的零交叉点作为候选边缘, 这就是Lo G算子[4]。
1.3.2 LoG边缘检测算子
Laplacian of Gaussian (Lo G) 算子是一种二阶微分边缘检测算子, 它通过寻找图像灰度值中二阶微分中的零交叉点来检测边缘点。灰度缓变形成的边缘经过微分算子形成一个单峰函数, 峰值位置对应边缘点。对单峰函数进行微分, 则峰值处的微分值为0, 峰值两侧符号相反, 而原先的极值点对应二阶微分中的零交叉点, 通过检测零交叉点即可将图像的边缘提取出来。
在实际中, 为了去除噪声影响, 通常要先用高斯函数对图像进行滤波, 然后对滤波后的图像求二阶导数。
1.4 Canny边缘检测算子
Canny算子是一个具有滤波、增强和检测的多阶段的优化算子。在进行处理前, Canny算子先利用高斯平滑滤波器来平滑图像以除去噪声 (即用高斯平滑滤波器与图像作卷积) 。增强边缘是将邻域 (或局部) 强度值有显著变化的点突出来, 一般通过计算梯度幅值来完成。
Canny分割算法采用一阶偏导的有限差分来计算梯度的幅值和方向。通过寻找f (x, y) 的梯度的最大值来查找边缘。梯度由高斯滤波器的导数来计算。在处理过程中, Canny算法还将经过一个非极大值抑制的过程。最后该方法使用两个阈值来检测强边缘和弱边缘, 若它们连接到了强边缘, 则输出中只包含弱边缘。因此, 这种方法更适合用于检测真正的弱边缘。
1.5 各种算子的比较
用各种边缘检测算子对一幅图像进行边缘检测, 其结果如图2所示。从检测的结果来看, Roberts算子提取边缘的结果边缘较粗, 边缘定位不很准确, Sobel算子和Prewitt算子对边缘的定位就准确了一些, Kirsch算子比Sobel算子和Prewitt算子定位更准确, 而采用Lo G算子进行边缘提取的结果要明显优于前4种算子, 特别是边缘比较完整, 位置比较准确。Canny算子则能较好地体现图像的弱边缘。
2 新的边缘检测方法
2.1 基于数学形态学的分割技术
其基本思想是用具有一定形态的结构元素去量度和提取图像中的对应形状以达到对图像分析和识别的目的。利用膨胀、腐蚀、开启和闭合4个基本运算进行推导和组合, 可以产生各种形态学实用算法, 其中结构元素的选取很重要。腐蚀和膨胀对于灰度变化较明显的边缘作用很大, 可用来构造基本的形态学边缘检测算子 (形态学梯度) 。
2.2 基于模糊集理论的图像分割
其方法是以模糊数学为基础, 利用隶属图像中由于信息不全面、不准确、含糊、矛盾等造成的不确定性问题, 该方法在医学图像分析中有广泛的应用。目前, 模糊技术在图像分割中应用的一个显著特点就是它能和现有的许多图像分割方法相结合, 形成一系列的集成模糊分割技术, 例如模糊聚类、模糊阈值、模糊边缘检测技术 (Pal和King) 等。如罗述谦等人提出的基于有偏场的适配模糊聚类分割算法, 实验结果令人满意。
2.3 基于小波分析和变换的边缘检测方法
小波变换是近年来得到了广泛应用的数学工具, 它在时域和频域都具有良好的局部化性质, 将时域和频域统一于一体来研究信号。而且小波变换具有多尺度特性, 能够在不同尺度上对信号进行分析, 达到高频处时间细分, 低频处频率细分。因此, 小波变换非常适合复杂图像的边缘检测。
一幅图像中, 图像的能量大部分集中在低频和中频部分, 图像的边缘和噪声对应于高频部分。基于小波包的边缘检测原理是利用了小波函数对图像的分解作用, 在小波变换中只对图像的低频子带进行分解, 并未对图像的高频子带进行分解。小波包变换不仅对图像的低频子带进行分解, 还对图像的高频子带进行分解, 选择的小波包尺度越大, 小波系数对应的空间分辨率就越低。因此, 小波包分解是一种更为精细的分解方法, 可以满足不同分辨率下对局部细节进行边缘提取需要, 尤其对于含噪图像, 在提取图像边缘时对噪声的抑制效果更好。小波变换的计算复杂度较低, 抗噪声能力强。理论证明, 以零点为对称点的对称二进小波适应检测屋顶状边缘, 而以零点为反对称点的反对称二进小波适合检测阶跃状边缘。近年来多进 (Multi_Band) 小波也开始用于边缘检测。
3 结束语
尽管在图像边缘检测领域有经典的边缘检测算子、基于小波与分形理论法和基于形态学等多种检测手段, 但它们都不是具有绝对优势的方法, 有的边缘检测精度高, 但抗噪声性能较差;有的解决抗噪声性能差的问题, 检测精度又不够。还有的尽管在一定程度上较好地解决了上述两者的协调问题, 但算法复杂, 运算时间长。可见, 无论哪种边缘检测算法在解决一定问题的同时也存在不同类型的缺陷。因而, 寻求算法较简单、能较好解决边缘检测精度与抗噪声性能协调问题的边缘检测算法一直是图像处理与分析研究的目的之一, 还有许多工作要做。
参考文献
[1]王郑耀.数字图像的边缘检测[D].西安:西安交通大学, 2003.
[2]章毓晋.图像处理和分析基础[M].北京:高等教育出版社, 2002.
[3]RAFAEL C GONZALEZ, RICHARD E WOODS, STEVEN L ED-DINS, 数字图像处理[M].阮秋琦, 等译, 北京:电子工业出版社, 2005.
[4]李小红.基于LOG滤波器的图像边缘检测算法的研究[J].计算机应用与软件, 2005 (5) .
[5]陈宏希.基于边缘保持平滑滤波的canny算子边缘检测[J].兰州交通大学学报, 2006 (1) .
[6]罗述谦, 唐宇.基于有偏场的适配模糊聚类分割算法[J].中国图像图形学报, 1999 (2) .
图像边缘检测技术分析 篇6
图像是一种最直接的视觉信息, 包含的内容是非常大的。其中图像中最重要的信息就是有边缘和轮廓进行提供。所以在图像中最基本的特征就是图像边缘。边缘包含价值目标的边界信息, 在两个不同灰度值区域中就存在着边缘。这之间的边缘就需要进行微分运算。这其中的算子就包括Roberts算子, 在Roberts算子基础上发展的Sobel算子, Prewitt算子等等。这些算子的主要优点是计量小和操作方便, 但也会存在一些局限性, 比如容易产生比较宽的响应, 需要做细化的处理, 这会影响边缘定位的精度。Laplacian算子的出现就能够解决这一缺陷性。
在应用上对于边缘检测技术的需求越来越高, 传统的Canay边缘检测算法不能够满足现在的需要, 所以在此基础上对传统的Canay边缘检测算法进行不断改进, 能够更好的满足图像边缘的自动化检测以及检测的精确度。还产生了许多检测技术, 微分边缘检测技术、基于小波与分形理论边缘检测技术、基于数学形态学的边缘检测技术、基于模糊学的边缘检测技术、基于神经网络的边缘检测技术、基于遗传算法的边缘检测技术等等。但是对于现在的边缘检测技术来说, 已经不适应现代科技发展的需要, 所以要研究出更有效的边缘检测技术。
1 图像边缘检测技术的意义和现状
1.1 图像边缘检测技术的意义
在图像中包含了许多人类所需要的感知世界, 所以对于图像的理解和识别是作为计算机视觉图像处理的关键任务和首要前提。图像中最基本性的特征就是图像边缘, 这是分析和理解图像的重要基础。因此, 对于边缘的检测时非常重要的, 不仅仅作为分析处理图像的前提, 主要是对于图像的压缩和模式的识别等方面都具有重要的作用和意义。
这些作用和影响意义主要表现在以下三点上: (1) 在对图像数据的压缩方面;在这方面的研究之中, 主要的工作主要是对图像和图形的处理上, 在对图形、图像的处理主要是包括对数字图像的存储和传输等等方面。在日常生活中对于多媒体的技术和计算机模式识别上的重视越来越重视。技术的特点要求信息的交互性、实时性和协同性。为了不断减少数据的存储量和降低数据的传输率, 这就用到了多媒体应用的关键性的技术, 以满足对图像处理中的各种要求;对于图像的信息可以进行压缩, 但是在压缩的过程中会造成一部分信息的丢失, 但是可以达到最大的压缩比。 (2) 在对计算机视觉的影响方面上;对于计算机视觉的影响可以看做是为了实现某一个任务在包含大量的变量中抽取不变量, 这主要是扔掉一些不必要的信息, 达到物体的不变性质。最重要的不变性质是不会改变边缘信息的。在人的视觉感知的方面对于边缘的信息是相当敏感的。 (3) 边缘检测技术在模式识别的应用。模式识别可以用数字图像处理技术来实现。实现的阶段是首先对图像的分离;在对图像特征抽取;最后进行分类的过程。
1.2 图像边缘检测技术的发展现状
图像边缘检测技术在图像的处理、图像分析和计算机的视觉领域等等方面有着重要的研究。还是作为模式识别和信息提取的重要方式。对于图像边缘检测的方法有很多种, 但是每一种的检测方法都具有局限性, 不能够满足对于各种应用的需要。经典的边缘检测算法有Roberts、Sobel、Prewitt、Laplacian等边缘检测方法。
对于图像边缘检测技术中, 出现了许多检测技术, 比如微分边缘检测技术、基于小波与分形理论边缘检测技术、基于数学形态学的边缘检测技术、基于模糊学的边缘检测技术、基于神经网络的边缘检测技术、基于遗传算法的边缘检测技术等检验技术, 这些检测技术有的会存在一些缺陷和问题。所以, 要不断寻找出算法简单、能够更好的解决边缘检测精度和抗噪声性能协调的问题等。
2 缘检测技术分析
2.1 边缘
在图像中灰度值变化的最剧烈的部分就是指图像边缘。为了实现三维计算的视觉问题, 图像边缘一般能够检测出图像中边缘的位置和位置分布结构等等基本特征。但是也会出现许多问题, 主要的影响问题就是噪音的出现, 如何规避噪音, 边缘的检测工作就能够顺利进行。但是在实际的工作上是很难避免噪音的出现。
对于图像的基本特征就是边缘, 在图像中那些相邻的灰度具有强烈的反差的像素的集合也就是边缘。边缘与图像中的物体边界有关系但不尽相同。边缘主要反应的是图像灰度的不连续性, 这标志着一个区域的终结和另一个区域的开始。边缘可以使观察者直接的观察图像的信息。
边缘的主要作用能够进行边界的检测工作, 对于外形轮廓的检测也有着非常重要的作用。广泛存在于物体与背景基础、物体与物体之间, 基元与基元之间, 是图像分割所依赖的重要特征。
比较常见的边缘点有三种, 第一种还屋顶型边缘, 它的灰度增加到了一定的程度, 然后慢慢的减小;第二种是阶梯型边缘, 从一个灰度到比它高很多的另一个灰度;第三种线性边缘, 灰度趋于平稳的过程。
2.2 梯度
梯度主要可以反映在灰度值的变化上而不断引起阶跃的情况。灰度的不连续的反应来影响物体的边缘。图像的每个像素在每一个领域的变化是考察边缘的提取方法。用简单的方法来检测边缘, 这种边缘检测方法被称为局部算子法。
对于图像的处理工作中, 一般微分法在图像的处理中可以使边缘变得清楚, 微分法作为图像边缘检测的方法之一, 是最常用的梯度法。
3 经典的边缘检测算子
3.1 Roberts算子
Roberts边缘检测算子是一种利用局部差分算子寻找边缘的算子, 对于Roberts算子来说具有局限性, 对于噪声会比较明显和敏感, 对边界灰度变化不明显的图像, 表现的效果会不理想等缺陷。如今, 随着科技的不断进步, 针对这些缺陷提出了一种Roberts自适应边缘检测方法, 这种检测方法在传统的Roberts算子的基础上, 扩充了检测的方向, 既保留传统Roberts算子的许多优点, 还对噪声有一定的抑制的作用。还针对Roberts算子边缘检测相对比较粗糙, 边缘细化的效率比较低等的缺陷, 不断进行改进。对于改进的Roberts算子能够自适应的生成动态阀值, 不断提高图像边缘的细化等优势。
3.2 Sobel算子
这种算子主要是由于卷积核形成的。一般对这种算子存在许多缺陷, 这些缺陷会严重影响对于边缘检测的技术。但是一些专家对于这种算子的缺陷提出了许多的改进方法。下面就介绍两种比较成功的改进方法。首先一些专家提出了对新的图像清晰度的评价函数, 这种新的评价函数主要采用的是八方向的模板, 可以大大解决Sobel算子存在的许多缺陷。
还有一种对于Sobel算子的改进的方法, 这种改进的算法是通过对实际的图像中出现的边缘类型进行数学模型的描述, 把连续型的边缘模型作为进行研究的方向, 重新进行构造对图像边缘方向检测的模板。这种新的算法能够大大抑制对于噪声的干扰, 提取边缘定位准确, 是一种简单有效的边缘检测算法。
3.3 Prewitt算子
Prewitt算子是在1970年提出来的, 检测边缘比较粗糙, 精度比较低, 边缘信息容易受到损失。对于这些缺陷, 也进行了不断的改进, 对含有的噪声图像进行边缘的检测, 在对图像的边缘不断进行细化, 这样就能够得到单像素的边缘。改进后的算子能够在保证原来边缘信息的前提下, 得出比较满意的结果。
3.4 Laplacian算子
Laplacian算子是一种对二位的函数进行运算的二阶导数算子。Laplacian算子作为二阶导数, 所以在边缘出会出现陡峭的零交叉。Laplacian算子一般能够检测出绝大部分的边缘, 在检测时会对灰度的突变比较敏感, 会存在噪声点等缺陷, 针对这些缺陷, 也进行了改良, 在Laplacian算子的基础上将高斯滤波器作用于图像的预处理上, 这样能够起到平滑滤波去噪的作用, 这种改良的Laplacian算子能够克服许多传统Laplacian算子的缺陷。
4 Canny算子分析
4.1 传统的Canay边缘检测算法
Canay边缘检测算子是一阶算子, 主要的方法是使用高斯函数作平滑的运算。可以使用高斯函数的梯度来取相近值。针对边缘检测的有效性和定位的可靠性等, 这种算子研究出了最优边缘检测器中需要的特性。主要的优点能够抑制噪声, 还能够精确的确定边缘的位置。
4.1.1 高斯滤波平滑图像
传统的Canay边缘检测算法用二位的高斯函数表示.其中σ就作为高斯滤波器的参数, 主要能够控制平滑的程度。传统的Canay边缘检测算子是人为性的设置这一个参数值。
4.1.2 计算梯度的幅值和方向
传统的Canay边缘检测算法是利用一阶微分算子来进行计算的。主要计算的是平滑后的图像f各点处梯度幅值和梯度的方向, 以获得梯度的幅值图像和梯度方向的图像。
4.1.3 非极大值的抑制
对梯度幅值的图像进行细化, 能够精确定位边缘点, 保留幅值局部变化最大的一个点, 这就是非极大值的抑制。
4.1.4 双阀值的处理和边缘的连接
对于传统的Canay边缘检测算法主要是采用双阀值的方法, 从边缘点中进行检测来进行连接最终的边缘。
4.2 改进后的Canay边缘检测算子
4.2.1 传统的Canay边缘检测算子的缺陷
图像边缘作为图像的基本特征。在对图像的检测上有Roberts算子, Sobel算子, Prewitt算子, Laplacian算子这几种算子, 优点是运行的简便, 缺点对噪声比较敏感, 对位也不是特别的准确等。
传统的Canay边缘检测算子相对于Roberts算子, Sobel算子, Prewitt算子, Laplacian算子等这些算子来说, 会存在一些优势, 但也具有一些不足之处。
4.2.2 改进后的Canay边缘检测算子
改进后的Canay边缘检测算子, 在传统的Canay边缘检测算子的基础上, 提出了一种自适应空间尺度因子, 不断进行抑制对于噪声的影响, 还深入的考虑到了对于像素对角线的方向梯度的计算;还不断提高水平垂直方向的边缘检测。
结束语
边缘检测技术最为图像处理领域的最基本的问题, 也是图像处理工作的基础。一个边缘算法的好坏主要表现为能够正确的检验出所有的边缘和去噪声的能力。Roberts算子, Sobel算子, Prewitt算子, Laplacian算子Canay边缘检测算子的不断改进能够不但满足这些特点。但是随着未来科技的不断进步和发展, 一定能够寻找出更好的算法, 运用在生活和学习之中。
摘要:图像边缘检测技术是处理数字图像的重要内容之一, 它包含了目标物体显示在图像上的主要信息。边缘就是指一组相连的像素的集合, 这些像素周围的灰度具有显著的变化的部分。边缘检测技术是从图像中提取感兴趣的对象的边缘信息 (要去除不需要的信息) , 在图像的局部区域中针对像素点的一种运算, 在图像的处理中有着重要的作用。因此边缘检测技术是分析图像和提取图像的主要内容的重要手段, 在一些预处理的算法中有着重要的作用。在本文中首先分析了图像边缘检测技术的研究的意义和发展的现状, 主要对边缘检测技术分析, 主要是对边缘和梯度进行主要介绍, 在接下来叙述各种经典的算子, 比如Roberts算子, Sobel算子, Prewitt算子, Laplacian算子等, 进一步了解这些算子的优缺点和适用性;在具体叙述传统的Canay边缘检测算法, 并通过传统的Canay边缘检测算法进行不断改进, 以更好的满足图像边缘的自动化检测以及检测的精确度等;最后总结图像边缘检测技术和未来的展望, 随着科技的不断发展, 图像边缘检测技术在生产和生活中起到的作用越来越重要。
关键词:图像边缘检测,Canay算法,梯度算子
参考文献
[1]冈萨雷斯.数字图像处理[M].北京:电子工业出版社, 2007:467-471.
[2]洪俊田, 陶剑锋, 李刚.基于灰色关联的数字图像去噪研究[J].武汉理工大学学报, 2006, 2:15-17.
[3]任文杰.图像边缘检测方法的研究[D].优秀硕士论文库.2008.
[4]康牧, 王宝树.图像处理中几个关键算法的研究[D].西安:西安电子科技大学, 2009.
[5]贾磊, 焦淑红.图像边缘检测技术研究综述[J].科技风, 2010 (8) .
[6]常娜.图像处理中边缘检测算法研究综述[J].中国科技信息.2011, 4:130-132.
[7]D.S.Kim, W.H.Lee and I.S.Kweon.Automatic edge detection using3*3 ideal binary pixel patterns and fuzzy-based edge thresholding.Pattern Recognition Letters, 2004, 25:101-106.
图像边缘检测算法比较研究 篇7
边缘检测是一种基于灰度不连续性进行分割的方法, 是所有基于边界的图像分割方法的第一步, 其实质是采用某种算法来提取出图像中的对象与背景间的交界线, 用图像灰度分布的梯度来反映图像灰度的变化情况。通常利用局部图像微分技术来获得边缘检测的算子。本文将对几种经典的图像边缘检测算子进行介绍和比较。
1、基于梯度的边缘检测
梯度算子是一阶导数算子。在边缘灰度值过渡比较尖锐, 且在图像噪声比较小时, 梯度算子工作的效果较好。对于一个连续图像函数f (x, y) , 其梯度可表示为一个矢量:
这个矢量的幅度和方向角分别为:
上述偏导数需对每个像素的位置进行计算, 实际应用时常用小区域模板卷积来进行近似计算。即对Gx和Gy各用一个模板, 将两个结合起来就构成一个梯度算子。根据模板的大小和元素值的不同, 目前已提出许多不同的算子, 如Roberts算子、Sobel算子、Prewitt算子和Robinson算子等。以下对Roberts算子、Sobel算子和Prewitt算子这三种经典的算法进行介绍。
1.1 Roberts算子
Roberts算子采用对角线方向相邻两像素之差近似梯度幅值检测边缘。公式如下:
Roberts算子采用两个2×2卷积模板 (如图1所示) 计算出Roberts梯度幅值R (i, j) , 再取适当门限TH, 如果R (i, j) ≥TH, 则为阶跃边缘点。
Roberts检测水平和垂直边缘的效果好于斜向边缘, 定位精度高, 但对噪声敏感。
1.2 Prewitt算子
Prewitt算子是利用像素点上下、左右邻点的灰度差, 在边缘处达到最大值来检测边缘。它利用两个方向模板与图像进行邻域卷积来完成的, 这两个方向模板一个检测水平边缘, 一个检测垂直边缘。
对于数字图像f (x, y) , Prewitt算子的定义如下:
Prewitt算子对噪声具有平滑作用, 但定位精度不够高。
1.3 Sobel算子
Sobel算子利用像素的上下、左右邻域的灰度加权算法, 根据在边缘点处达到极值这一原理进行边缘检测。Sobel利用图3所示的两个核做卷积, 一个核对垂直边缘影响最大, 而另一个核对水平边缘影响最大, 两个卷积的最大值作为像素点的输出值。
对于图像f (x, y) , Sobel算子定义如下:
Sobel算子边缘检测效果较好, 而且对噪声具有平滑作用, 可以提供较为准确的边缘方向信息。但是, 有时会检测出伪边缘, 定位精度不太高。因此如果对检测精度要求不高, 可以考虑采用该方法。
2、Laplacian算子
Laplacian算子 (即拉普拉斯算子) 是二阶微分算子, 它具有旋转不变性, 即各向同性的性质。计算公式为:
在数字图像中可用数字差分近似为:
拉普拉斯算子利用边缘点处二阶导函数出现零交叉原理检测边缘。与上述几个算子不同的是, 拉普拉斯算子的卷积模板对应中心像素的系数是正的, 而对应中心像素临近像素的系数是负的, 且所有系数的和应该是零, 这样不会产生灰度偏移, 如图4所示。
拉普拉斯边缘算子的特点是不具有方向性, 对灰度突变敏感, 精度高, 可以检测出绝大部分边缘, 同时基本没有出现伪边缘, 但对噪声敏感, 容易产生双像素宽的边缘, 且不能提供边缘方向的信息, 因此, 拉普拉斯算子很少直接用于边缘检测, 而主要确定已知的边缘像素是在图像的暗区还是在明区。
3、几种算法实验结果比较
传统的边缘检测算法通过梯度算子来实现, 在求边缘的梯度时, 需要对每个像素位置计算。在实际中常用小区域模板卷积来近似计算, 模板是N*N的权值方阵。图5给出上述各种算子处理的不同结果。
由上可见, Roberts算子边缘定位准确度较高, 但容易丢失一部分边缘, 且不能抑制噪声。Sobel算子和Prewitt算子对噪声具有一定的抑制能力, 边缘定位比较准确和完整, 但不能完全排除检测结果中出现伪边缘和多像素宽的情况, 对灰度渐变和具有噪声的图像处理的较好。Laplacian算子虽然对图像中的阶跃型边缘点定位准确且具有旋转不变性, 但该算子容易丢失一部分边缘的方向信息, 造成不连续的检测边缘。
以上几种经典边缘提取算子, 它们共同的优点是计算简单、速度较快, 缺点是对噪声的干扰都比较敏感。在实际应用中, 由于图像噪声的影响, 总要将经典的算法进行改善或结合其他一些算法对一幅含噪声的图像进行处理, 然后再采用经典的边缘提取算子提取图像边缘。
基于边缘检测的SVD水印 篇8
数字水印是一种在数字图像作品中隐秘嵌入作品版权信息, 以保护版权、防止原数字作品非法传播与分发的技术。而在此技术的研究过程中, 基于奇异值分解 (SVD, Singular Value Decomposition) 的水印研究方案得到了大家的广泛关注。重点介绍一种改进的SVD水印嵌入算法, 即先用基于边缘检测的方法准确的确定水印的嵌入区, 然后利用分块SVD进行水印嵌入, 此方法增强了水印的鲁棒性, 并减少了运算量和水印嵌入的复杂度。
1 基于边缘检测的水印嵌入区选择
利用HVS (人类视觉系统) 的特性设计水印系统时, 其理想的嵌入区为纹理区, 在以这一区域嵌入适当强度的水印可以达到不可见性与鲁棒性的折衷。文献[3]介绍了基于图像块的灰度均值和方差的划分方法, 文献[4]介绍了基于图像块熵和方差的划分方法。这两种方法都存在纹理区与边缘区相混淆的现象, 且运算量大。
而基于边缘检测算法确定出图像的纹理区准确简单, 运算量小。
1.1 基于边缘检测的纹理区确定
以往确定图像的边缘是用小区域模板和图像卷积来近似计算梯度值超过一定的阈值就确定为图像的边缘。这里只要设定一个较小的阈值, 将纹理区、边缘区一并检测出来, 再对检测后的图像进行分块, 统计各子块图像矩阵所有像素值的和。那么按统计值由大到小排序所得的图像块依次为:纹理区、边缘区、平滑区。这样选择统计值大的分块嵌入水印时, 即将水印嵌入了纹理区。
图1是对一幅256×256×8的人物灰度图用阈值为0.01的Roberts算子检测后8×8分块比较的结果。其中a是原始图像, b是由边缘检测方法求解后的纹理区, c是由方差方法所确定的纹理区。由b、c的对比, 由方差方法求解的区域既包含纹理区又包含边缘区, 而基于边缘检测的方法较准确的定位了纹理区。
1.2 结果比较
相对比较而言, 基于边缘算法的纹理区较准确, 因此在相同的PSNR值情况下, 其得到的嵌入水印图像的主观视觉效果要好些。且以往方法都要用到方差与其他方法结合, 对于n×n大小的图像, 其运算量明显要大于O (n2) , 而此方法运算量仅为O (n2) 次加法。
2 SVD水印
2.1 图像的SVD分解。
对一幅m×n图像A进行奇异值分解:
其中U=[u1, u2, …, um]∈Rm×m和V=[v1, v2, …, vn]∈Rn×n是正交矩阵, 它们的列向量分别为ui, vi, Λ是对角阵, λi为矩阵的非零特征值, 即奇异值。λi反映了图像的“能量特性”, 是图像的内蕴特性而非视觉特性;对应的奇异向量{ui, vi}反映了图像的“几何特性”。在仅对矩阵A进行SVD分解后的对角阵S进行对角修改时, 即 得到变化后矩阵 , 则加此扰动的平方误差为:
据此, 很容易根据误差要求来控制水印的嵌入强度。
另外矩阵奇异值还具有旋转不变性, 即矩阵A做旋转变换后与A本身具有相同的奇异值。因此, 矩阵奇异值能有效地反映矩阵的特征。
2.2 SVD水印嵌入
设A为原始图像, W为二值水印图像, α为水印的嵌入强度, 以往的SVD水印嵌入过程如下:
水印的提取是水印的逆过程, 需要已知UW、 (VW) T和S:
为减少运算复杂度, 一般是将其进行分块, 若将n×n方阵分成k×k子块, 其运算量将由原来的O (n3) 减少为O (n2) 。
3 基于边缘检测的SVD水印算法
3.1 基于边缘检测的SVD水印嵌入强度选择
在原始图像中嵌入一个大小为n×m的水印图像时, 选择8×8分块奇异值分解, 然后在每块分解后的前K (K<8) 个奇异值上嵌入水印, 即仅对每块的前K个奇异值均施加一个δS这么大的扰动, 根据公式 (3) 可得对每个图像块改变的均方误差为K·δS2。根据人眼视觉特性中的可见度阈值原则, 取这时的可见度阈值为0.02来确定水印嵌入强度。设对每块的嵌入强度相同都为α, 则有:
为水印嵌入区的平均灰度值, 即 。选取256×256的多幅图像按边缘检测得到嵌入区域的平均灰度约在130~190之间, 那么当K=1时, α值即在22.6~30.4之间。
3.2 基于边缘检测的SVD水印嵌入过程
设原始图像A的大小为M×N, 水印为二值图像W, 大小为m×n, 在每个所选分块中嵌入K比特水印信息。在水印的嵌入过程中, 按第2节所述选取合适图像块进行奇异值分解, 然后在奇异值上加载水印。其具体算法过程如下。
选取嵌入水印图像块:选取适当的边缘检测阈值, 对图像A采用Roberts算子进行边缘检测, 对所得图像分割为互不重叠的[M/8]×[N/8]个8×8小块, 分割后的子块用Aij (i= (1, 2, …, M/8) , j=1, 2, …, n/8) 来表示, 对各块的元素值求和、由大到小排序, 选取前m×n/K块作为水印嵌入区。
对所选分块的水印嵌入过程如下: (1) 对选取的m×n/K块子图进行SVD分解, Ai=UiSiViT, i=1, 2…m×n/K, Si为8×8的对角矩阵, 从Si (1, 1) 到Si (8, 8) 按由大到小顺序排列。 (2) 水印信号预处理:对二值水印信号W进行加密、排列成一维向量{wi*} (i=1, 2, …, m×n) , 形成嵌入水印W*。 (3) 量化嵌入:根据上节嵌入强度的分析选取量化步长△, 根据量化步长△, 将整个实数域分为若干个区域, 则有实数Si (j, j) , j=1, …, K将落在其中某一区域, 如[N·Δ, (N+1) ·Δ] (N为某一整数) 。
水印的嵌入, 将数据隐藏在量化值的奇偶性上, 当wi*为1时, Si (j, j) 取 (N, N+1) 中为偶数的那一个;当wi*为0时, 则Si (j, j) 取 (N, N+1) 中为奇数的那一个;
反量化, UiSi/ViT⇒AiW (i=1, 2, …m×n/k) , 至此即已完成了SVD水印嵌入。
将AiW按顺序镶嵌回原来图像A中, 即完成了水印的嵌入, 得到嵌入水印图像AW。
在此过程中的水印的嵌入并不会影响SVD分解中对角阵Si中的奇异值排序, 因为在SVD分解中所得奇异值相差很大, 由水印嵌入所带来的修改不会影响它们的原始顺序。
水印的提取过程是水印嵌入的逆过程, 这里不再赘述。
以上水印嵌入算法仅需保留边缘检测阈值、量化步长△和原始图像分块SVD后每块中的由大到小的K个奇异值即可完成水印的提取。
图2是对256×256×8的lena图像, 分别采用原始SVD方法和所述方法进行水印嵌入, 嵌入水印为16×16的二值水印, 采用量化步长为10分别得到的PSNR值。PSNR1为原始SVD算法, PSNR2为本文算法, 即以上所述方法很好的保持了图像的视觉效果与客观评价标准。
4 结论
这里所采用的基于边缘检测的SVD水印算法, 运算量小, 嵌入水印后的图像视觉效果良好, 嵌入强度可控, 水印检测时保留数据少, 可实现半盲检测。
摘要:介绍了一种基于边缘检测的分块SVD水印嵌入方法, 其计算简单、定位准确, 且运算量小, 有利于数字水印的不可见性和鲁棒性之间的平衡。
关键词:边缘检测,纹理区,嵌入强度,分块SVD
参考文献
[1]靳中鑫.数字图像信息处理[M].北京:国防工业出版社, 2003:6-7.
[2]王炳锡, 陈琦, 邓峰森.数字水印技术[M].西安:西安电子科技大学出版社, 2003:18-22, 26-55.
[3]周波, 陈健.基于奇异值分解的、抗几何失真的数字水印算法[J].中国图象图形学报, 2004, 9 (4) :507-512.
相关文章:
性能检测应用02-18
设备性能检测请示02-18
产品造型设计及制作——大赛规则02-18
产品性能A级认证简介5则范文02-18
性能检测问题02-18
计量性能检测02-18
热工性能现场检测02-18
综合性能检测02-18
钢筋性能检测02-18