数字图像边缘检测的研究与实现

合集下载

基于C#的模板算子法数字图像边缘检测技术分析与实现

基于C#的模板算子法数字图像边缘检测技术分析与实现

5 10 ) 40 4
摘 要 :边缘检测是图像处理中的重要 内容,边缘是图像中灰度值不连续或突变的结果。边缘检测的方法有很 多,本文仅 就典型的模板 算子法进行分析 并对原 Sbl oe算子 、Pe i 算子边缘检 测方向模板进行扩展 ,然后 用 c ≠ r t wt ≠ 编程语 言实现这些算 法。 关键 词 :边缘检 测 ;模板 算子 ;算 法扩展 ;c≠ ≠
Absr c : g t cin i n i p ra at o m a e pr c s ig, g a aue e ge i n t c tn o o t to t a tEd e dee to s a m o tntp r f i g o e sn i ma e y v l d s o oni u us r mu ai n r s lsEdg ee to meho s ae m a ,hs o e ao nl n e p c fa t pc ltm plt t d f ra ayss a h rgna e ut. e d t cin t d r nyt i p r tro y i r s e to y ia e ae meho o n l i nd t e o ii l So e peao , e t o r tr e g ee t ie to o he tm p ae e pa in.nd C≠ r g a m ig lng g i h s b lo r trPrwit pea o d e d tci dr cin ft e lt x nso a }p o r m on n a ua e usng t e e ag i m s lort h .
计算机光盘软件与应用
软件设计开发
C m u e D S f w r n p l c t o s o p t r C o t a e a dA p ia in 2 1 年第 1 01 7期

图像处理中的边缘检测算法分析与优化

图像处理中的边缘检测算法分析与优化

图像处理中的边缘检测算法分析与优化随着数字图像处理技术的不断发展,边缘检测在计算机视觉、模式识别和图像分割等领域中扮演着重要的角色。

边缘是图像中灰度变化较大的区域,通过检测边缘,我们可以提取图像的形状和结构信息,从而实现图像分析和理解。

本文将对常用的图像处理边缘检测算法进行分析,并探讨优化策略。

一、边缘检测算法概述1.1 Sobel算法Sobel算法是一种基于梯度的边缘检测算法,它通过计算图像梯度的大小和方向来确定边缘位置。

Sobel算法具有计算简单、鲁棒性较高的优点,但对噪声比较敏感,在图像边缘不够明显或存在噪声时容易引入误检。

1.2 Canny算法Canny算法是一种经典的边缘检测算法,它通过多个步骤来实现高效的边缘检测。

首先,通过高斯滤波器对图像进行平滑处理,以减少噪声的影响。

然后,计算图像的梯度幅值和方向,并进行非极大值抑制,以精确地定位边缘。

最后,通过滞后阈值法来进行边缘的连接和细化。

Canny算法具有良好的边缘定位能力和抗噪能力,在实际应用中被广泛使用。

1.3 Laplacian算子Laplacian算子是一种基于二阶导数的边缘检测算子,它通过计算图像的二阶导数来检测图像中的边缘。

Laplacian算子具有对灰度变化较大的边缘敏感的优点,但对噪声比较敏感,容易产生边缘断裂和误检。

为了提高Laplacian算子的效果,常常与高斯滤波器结合使用,以减少噪声的干扰。

二、边缘检测算法优化2.1 参数选择在边缘检测算法中,参数的选择对于最终的结果具有重要的影响。

例如,对于Canny算法来说,高斯滤波器的大小和标准差的选择直接影响到边缘的平滑程度和定位精度。

因此,在优化边缘检测算法时,需要根据具体的应用场景和图像特点选择合适的参数。

2.2 非极大值抑制非极大值抑制是Canny算法中的一种重要步骤,用于精确地定位边缘位置。

然而,在进行非极大值抑制时,会产生边缘断裂和不连续的问题。

为了解决这个问题,可以考虑使用像素邻域信息进行插值,从而减少边缘的断裂,并得到更连续的边缘。

数字图像的边缘检测

数字图像的边缘检测

数字图像的边缘检测所谓边缘就是指图像局部亮度变化最显著的部分,它是检测图像局部变化显著变化的最基本的运算。

对于数字图像,图像灰度灰度值的显著变化可以用梯度来表示,以边缘检测Sobel算子为例来讲述数字图像处理中边缘检测的实现:对于数字图像,可以用一阶差分代替一阶微分;△xf(x,y)=f(x,y)-f(x-1,y);△yf(x,y)=f(x,y)-f(x,y-1)求梯度时对于平方和运算及开方运算,可以用两个分量的绝对值之和表示,即:G[f(x,y)]={[△xf(x,y)] +[△yf(x,y)] } |△xf(x,y)|+|△yf(x,y)|;Sobel梯度算子是先做成加权平均,再微分,然后求梯度,即:△xf(x,y)= f(x-1,y+1) + 2f(x,y+1) + f(x+1,y+1)- f(x-1,y-1) - 2f(x,y-1) - f(x+1,y-1);△yf(x,y)= f(x-1,y-1) + 2f(x-1,y) + f(x-1,y+1)- f(x+1,y-1) - 2f(x+1,y) - f(x+1,y+1);G[f(x,y)]=|△xf(x,y)|+|△yf(x,y)|;上述各式中的像素之间的关系见图我在视图类中定义了响应菜单命令的边缘检测Sobel算子实现灰度图像边缘检测的函数:对于边缘检测,大家只要知道有若干个检测模板(既边缘检测矩阵)可以直接实现检测功能就行了,现在将常用的检测实现公式列出如下:Roberts算子:G[i,i]=|f[i,j]-f[i+1,j+1]|+|f[i+1,j]-f[i,j+1]|;Sobe算子:G[i,i]=|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]|+|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]|;拉普拉斯算子:G[I,j]=|f[i+1,j]+f[i-1,j]+f(i,j+1)+f[i,j-1]-4f[i,j]|;其中G[i,j]表示处理后(i,j)点的灰度值,f[i,j]表示处理前该点的灰度值。

基于遗传算法实现数字图像边缘检测

基于遗传算法实现数字图像边缘检测
关键 词 中 图分 类 号
Ed e D e e to c ni u s d o e e i g rt g t c i n Te h q e Ba e n G n tcAl o ihm
W u Xi o i Zh n n al n a g Do g
( i 9 ,No 9 9 1 Tr o s o Un t 6 . 2 4 o p f PLA ,H u u a 1 5 0 ) ld o 2 0 1
吴晓琳等 : 于遗传算法实 现数字 图像边缘检测 基
总第 2 7 0 期
2 2 适应度 的计 算 . 适 应度 函数 相 当于现实 生物 界进 化 的环 境 , 它 直 接地 影响生 物进 化 的结果 , 以适 应 度 函数 的设 所
计 十分 重要 。文 中所 处 理 的 染 色体 是 一 些 二值 化
总第 2 7 0 期 21 0 1年第 9 期
舰 船 电 子 工 程
S i e t o i g n e ig h p Elc r n c En i e rn
Vo. 1No 9 13 .
1 17
基 于 遗 传 算 法 实现 数 字 图像 边 缘 检 测
吴 晓琳
(2 4 部 队 9 991 6分队
1引 言
图像 最 基本 的特 征 就是边 缘 , 谓边 缘 是 指 图 所
像 中像 素 灰 度 有 突 变 的

终产 生符 合要求 的结果边 缘 图像 。 那 些 像 素 的 集 合 , 图 是 像 的一个 基 本 特 征 , 通
过 边缘 检 测 可 以 大 大 减 2 1 初始 化子 群 .
各代 价 因子 的值 由决 策数 来决 定 , 面 给 出某 下
像素 点 L的代价 因子 决策数 。

图像边缘检测原理及方法

图像边缘检测原理及方法
图像边缘检测原理及方法
一、图像边缘检测原理
边缘是图像上灰度变化最明显的地方,传统边缘检测利用此特点,对图像 各像素点进行求微分或二阶微分来定位边缘像素点。由灰度变化特点,可将边 缘类型分为阶梯状、脉冲状和屋顶状三种[1]。对于阶梯状,图像边缘点对应一阶 微分图像的峰值和二阶微分图像的零交叉处;对于脉冲状和屋顶状边缘,边缘 点对应一阶导数的零交叉和二阶导数的峰值。如图 1-1 所示[2]。
0 0 0 -1 1 0 0 0 0
垂直边缘
0 -1 0 0 1 0 0 0 0
水平边缘
-1 0 0 0 1 0 0 0 0
对角线边缘
图 2-1 差分算法检测边缘的方向模板 差分边缘是基本且原始的方法,根据阶跃边缘情况原理,利用导数算子检测 边缘。这种算子要求方向性,计算繁琐,因此很少采用。 2、Roberts 算子 Roberts 边缘检测算子[6]利用局部差分算子寻找边缘的算子,采用对角线方 向相邻像素之差近似梯度幅值检测边缘, 原理是根据任意一对互相垂直方向上的 差分可计算梯度。
s x { f ( x 1, y 1) 2 f ( x 1, y ) f ( x 1, y 1)} { f ( x 1, y 1) 2 f ( x 1, y ) f ( x 1, y 1)} s y { f ( x 1, y 1) 2 f ( x, y 1) f ( x 1, y 1)} { f ( x 1, y 1) 2 f ( x, y 1) f ( x 1, y 1)}
xf f (i, j ) f (i 1, j 1) xf f (i, j 1) f (i 1, j ) R (i, j ) 2x f 2y f 或 R (i, j ) x f y f

基于matlab的图像边缘检测算法研究和仿真设计

基于matlab的图像边缘检测算法研究和仿真设计

基于matlab的图像边缘检测算法研究和仿真目录第1章绪论 11.1 序言 11.2 数字图像边缘检测算法的意义 1第2章传统边缘检测方法及理论基础 2 2.1 数字图像边缘检测的现状与发展 22.2 MATLAB和图像处理工具箱的背景知识 32.3 数字图像边缘检测关于边缘的定义 42.4 基于一阶微分的边缘检测算子 42.5 基于二阶微分的边缘检测算子 7第3章编程和调试 103.1 edge函数 103.2 边缘检测的编程实现 11第4章总结 13第5章图像边缘检测应用领域 13附录参考文献 15第1章绪论§1.1 序言理解图像和识别图像中的目标是计算机视觉研究的中心任务,物体形状、物体边界、位置遮挡、阴影轮廓及表面纹理等重要视觉信息在图像中均有边缘产生。

图像边缘是分析理解图像的基础,它是图像中最基本的特征。

在Marr的计算机视觉系统中,图像边缘提取占据着非常重要位置,它位于系统的最底层,为其它模块所依赖。

图像边缘提取作为计算机视觉领域最经典的研究课题,长期受到人们的重视。

图像边缘主要划分为阶跃状和屋脊状两种类型。

阶跃状边缘两侧的灰度值变化明显,屋脊状边缘则位于灰度增加与减少的交界处。

传统的图像边缘检测方法大多是从图像的高频分量中提取边缘信息,微分运算是边缘检测与提取的主要手段。

由于传统的边缘检测方法对噪声敏感,所以实际运用效果有一定的局限性。

近年来,越来越多的新技术被引入到边缘检测方法中,如数学形态学、小波变换、神经网络和分形理论等。

Canny于1986年提出基于最优化算法的边缘检测算子,得到了广泛的应用,并成了与其它实验结果作比较的标准。

其原因在于他最先建立了优化边缘检测算子的理论基础,提出了迄今为止定义最为严格的边缘检测的三个标准。

另外其相对简单的算法使得整个过程可以在较短的时间实现。

实验结果也表明,Canny算子在处理受加性高斯白噪声污染的图像方面获得了良好的效果[1]。

基于Sobel算子的数字图像边缘检测与FPGA实现

基于Sobel算子的数字图像边缘检测与FPGA实现

a d i t g a e n aFP n n e r t d i GA h p o i n p r a c i f l x S a t n3 XC3 5 5 X i S 0- PQ2 . e sm u a e e u ti d c t st a h r s n e GA 08Th i l t d r s l n i a e h t e p e e t d FP t c i h p XC3 5 - P S 0 5 Q2 8 c n r n a 3 M Hzs e d F n ly t e e p rm e t 0 a u t1 4 p e . i a l , h x e i n sd n o t n ma e o 0 4 X 1 2 i e s Th wa o e t e a i g f 1 2 0 4 p x l. e
级 . 大 大 增 加 了设 计 过 程 和 最 后 工 程 的 灵 活 性 。 这
S b l . 检 测 算 子 结 合 了边 缘 检 测 和 平滑 算 子 . 其 在 o e: 缘  ̄ 使 嘈杂 的环 境 下 有 良 好 的 检 测 能 力 。因此 本 文 选 择 S b l o e算子 应
一二 、 Biblioteka e边 缘 检 测 原 理 sbl
图 像 边 缘 是 图 像 的 基 本 特 征 之 一 , 包 含 对 人 类 视 觉 它
直 是 一 个 难 题 。虽 然 DSP 备 指 令 流 水 线 特 性 和 很 高 的 具
t he Edge D e ec i i t lI a nd is r alza i t ton ofD gia m ge a t e i ton by FPG A ec t hni que bas d e on be SO lope a o r tr

图像处理中的边缘检测算法研究与性能评估

图像处理中的边缘检测算法研究与性能评估

图像处理中的边缘检测算法研究与性能评估引言:在当今数字图像处理领域,边缘检测一直是一个重要且挑战性的问题。

边缘提取是图像处理中的一项基本操作,对于目标检测、图像分割和图像识别等任务都具有重要意义。

边缘检测的目标是找到图像中明显的灰度跃变区域,以准确地确定物体的边缘位置。

本文将介绍几种常见的图像处理中的边缘检测算法,并对其性能进行评估。

一、经典边缘检测算法1. Sobel算子Sobel算子是一种基于差分的边缘检测算子,它结合了图像梯度的信息。

Sobel算子使用一个3×3的模板对图像进行卷积操作,通过计算水平和垂直方向上的梯度来找到边缘位置。

Sobel算子虽然简单,但在边缘检测中表现良好。

2. Prewitt算子Prewitt算子是另一种基于差分的边缘检测算子,与Sobel 算子类似,它也使用一个3×3的模板对图像进行卷积操作。

该算子通过计算水平和垂直方向上的梯度来检测边缘。

Prewitt 算子在边缘检测中也有较好的性能。

3. Canny边缘检测Canny边缘检测是一种广泛应用的边缘检测算法。

与Sobel 和Prewitt算子相比,Canny算法不仅能够检测边缘,还能够进行边缘细化和抑制不必要的边缘响应。

它通过多阶段的边缘检测过程,包括高斯滤波、计算梯度幅值和方向、非极大值抑制和双阈值处理等步骤,来提取图像中的边缘。

二、边缘检测算法的性能评估1. 准确性评估准确性是评估边缘检测算法好坏的重要指标。

在进行准确性评估时,可以使用一些评价指标,如PR曲线、F值等。

PR 曲线是以检测到的边缘像素为横坐标,以正确的边缘像素为纵坐标绘制的曲线,用于评估算法的召回率和准确率。

F值则是召回率和准确率的综合评价指标,能够综合考虑算法的检测效果。

2. 实时性评估实时性是边缘检测算法是否适用于实际应用的重要因素。

在实时性评估时,可以考虑算法的运行时间,以及算法对硬件资源的要求。

边缘检测算法应尽量满足实时性的要求,并能够在不同硬件平台上高效运行。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

任务书主要分析几种应用于数字图像处理中的边缘检测算子,根据它们在实践中的应用结果进行研究,主要包括:Robert 边缘算子、Prewitt 边缘算子、Sobel 边缘算子、Kirsch 边缘算子以及Laplacian 算子等对图像及噪声图像的边缘检测,根据实验处理结果讨论了几种检测方法的优劣.关键词:数字图像处理;边缘检测;算子图像的边缘是图像的重要特征之一, 数字图像的边缘检测是图像分割、目标区域识别、区域形状提取等图像分析领域十分重要的基础, 其目的是精确定位边缘, 同时较好地抑制噪声, 因此边缘检测是机器视觉系统中必不可少的重要环节。

然而, 由于实际图像中的边缘是多种边缘类型的组合, 再加上外界环境噪声的干扰, 边缘检测又是数字图像处理中的一个难题。

目录第一章边缘的概念 (3)第二章边缘检测 (4)第三章边缘检测算子的应用 (8)第四章边缘检测方法性能比较 (12)参考文献料 (15)第1章:边缘检测1.1 边缘的介绍图像边缘是图像最基本的特征,边缘在图像分析中起着重要的作用。

所谓边缘是指图像局部特性的不连续性。

灰度或结构等信息的突变处称为边缘,例如:灰度级的突变,颜色的突变,纹理结构的突变等。

边缘是一个区域的结束,也是另一个区域的开始,利用该特征可以分割图像。

边缘(edge)是指图像局部强度变化最显著的部分.边缘主要存在于目标与目标、目标与背景、区域与区域(包括不同色彩)之间,是图像分割、纹理特征和形状特征等图像分析的重要基础.图像分析和理解的第一步常常是边缘检测(edge detection).由于边缘检测十分重要,因此成为机器视觉研究领域最活跃的课题之一.本章主要讨论边缘检测和定位的基本概念,并使用几种常用的边缘检测器来说明边缘检测的基本问题.在讨论边缘算子之前,首先给出一些术语的定义:边缘点:图像中具有坐标],[j i 且处在强度显著变化的位置上的点.边缘段:对应于边缘点坐标],[j i 及其方位 ,边缘的方位可能是梯度角. 边缘检测器:从图像中抽取边缘(边缘点和边缘段)集合的算法.轮廓:边缘列表,或是一条表示边缘列表的拟合曲线.边缘连接:从无序边缘表形成有序边缘表的过程.习惯上边缘的表示采用顺时针方向序. 边缘跟踪:一个用来确定轮廊的图像(指滤波后的图像)搜索过程.边缘点的坐标可以是边缘位置像素点的行、列整数标号,也可以在子像素分辨率水平上表示.边缘坐标可以在原始图像坐标系上表示,但大多数情况下是在边缘检测滤波器的输出图像的坐标系上表示,因为滤波过程可能导致图像坐标平移或缩放.边缘段可以用像素点尺寸大小的小线段定义,或用具有方位属性的一个点定义.请注意,在实际中,边缘点和边缘段都被称为边缘.边缘连接和边缘跟踪之间的区别在于:边缘连接是把边缘检测器产生的无序边缘集作为输入,输出一个有序边缘集;边缘跟踪则是将一幅图像作为输入,输出一个有序边缘集.另外,边缘检测使用局部信息来决定边缘,而边缘跟踪使用整个图像信息来决定一个像素点是不是边缘.1.2 边缘检测算子边缘检测是图像特征提取的重要技术之一, 边缘常常意味着一个区域的终结和另一个区域的开始. 图像的边缘包含了物体形状的重要信息,它不仅在分析图像时大幅度地减少了要处理的信息量,而且还保护了目标的边界结构. 因此,边缘检测可以看做是处理许多复杂问题的关键.边缘检测的实质是采用某种算法来提取出图像中对对象与背景间的交界线。

图像灰度的变化情况可以用图像灰度分布的梯度来反映,因此可以用局部图像微分技术来获取边缘检测算子。

经典的 边缘检测方法是对原始图像中的像素的某个邻域来构造边缘检测算子。

以下是对几种经典的边缘检测算子进行理论分析,并对各自的性能特点做出比较和评价。

边缘检测的原理是:由于微分算子具有突出灰度变化的作用,对图像进行微分运算,在图像边缘处其灰度变化较大,故该处微分计算值教高,可将这些微分值作为相应点的边缘强度,通过阈值判别来提取边缘点,即如果微分值大于阈值,则为边缘点。

Roberts,Sobel,Prewwit是基于一阶导数的边缘检测算子,图像的边缘检测是通过2*2或者3*3模板作为核与该图像中的每个像素点做卷积和运算,然后选取合适的阈值以提取边缘。

Laplace边缘检测算子是基于二阶导数的边缘检测算子,该算子对噪声敏感。

Laplace 算子的改进方式是先对图像进行平滑处理,然后再应用二阶导数的边缘检测算子,其代表是拉普拉斯高斯(LOG)算子。

前边介绍的边缘检测算法是基于微分方法的,其依据是图像的边缘对应一阶导数的极大值点和二阶导数过零点。

Canny算子是另外一类边缘检测算子,它不是通过微分算子检测边缘,而是在满足一定约束条件下推导出的边缘检测最优化算子。

1.3 边缘检测算法对于边缘的检测常常借助于空域微分算子进行,通过将其模板与图像卷积完成. 两个具有不同灰度值的相邻区域之间总存在灰度边缘. 灰度边缘是灰度值不连续(或突变) 的结果,这种不连续常可利用求一阶和二阶导数方便地检测到. 已有的局部技术边缘检测方法,主要有一次微分(Sobel 算子、Robert s 算子等) 、二次微分(拉普拉斯算子等). 这些边缘检测器对边缘灰度值过渡比较尖锐且噪声较小等不太复杂的图像,大多数提取算法均可以取得较好的效果 . 但对于边缘复杂、采光不均匀的图像来说,则效果不太理想. 主要表现为边缘模糊、边缘非单像素宽、弱边缘丢失和整体边缘的不连续等方面.用算子检测图像边缘的方法是用小区域模板对图像进行处理,即采用卷积核作为掩模模板在图像中依次移动,完成图像中每个像素点同模板的卷积运算,最终输出的边缘幅度结果可以检测出图像的边缘. 卷积运算是一种邻域运算. 图像处理认为:某一点像素的结果不但和本像素灰度有关,而且和其邻域点值有关. 运用模板在图像上依此对每一个像素进行卷积, 即模板上每一个点的值与其在图像上当前位置对应的像素点值相乘后再相加,得出的值就是该点处理后的新值.边缘检测算法有如下四个步骤:滤波:边缘检测算法主要是基于图像强度的一阶和二阶导数,但导数的计算对噪声很敏感,因此必须使用滤波器来改善与噪声有关的边缘检测器的性能.需要指出,大多数滤波器在降低噪声的同时也导致了边缘强度的损失,因此,增强边缘和降低噪声之间需要折衷.增强:增强边缘的基础是确定图像各点邻域强度的变化值.增强算法可以将邻域(或局部)强度值有显著变化的点突显出来.边缘增强一般是通过计算梯度幅值来完成的.检测:在图像中有许多点的梯度幅值比较大,而这些点在特定的应用领域中并不都是边缘,所以应该用某种方法来确定哪些点是边缘点.最简单的边缘检测判据是梯度幅值阈值判据.定位:如果某一应用场合要求确定边缘位置,则边缘的位置可在子像素分辨率上来估计,边缘的方位也可以被估计出来.在边缘检测算法中,前三个步骤用得十分普遍。

这是因为大多数场合下,仅仅需要边缘检测器指出边缘出现在图像某一像素点的附近,而没有必要指出边缘的精确位置或方向.边缘检测误差通常是指边缘误分类误差,即把假边缘判别成边缘而保留,而把真边缘判别成假边缘而去掉.边缘估计误差是用概率统计模型来描述边缘的位置和方向误差的.我们将边缘检测误差和边缘估计误差区分开,是因为它们的计算方法完全不同,其误差模型也完全不同.这里讨论常用的几种边缘检测器.二、 经典边缘检测算子的理论分析和比较1 . Roberts 算子Roberts 算子是一种斜向偏差分的梯度计算方法, 梯度的大小代表边缘的强度, 梯度的方向与边缘走向垂直。

该算子定位精度高, 但容易丢失部分边缘。

因为没进行平滑处理, 不具有抑制噪声的能力。

用该算子处理边缘陡峭度高且噪声小的图像效果较佳。

Roberts 交叉算子为梯度幅值计算提供了一种简单的近似方法: ]1,[],1[]1,1[],[],[+-++++-=j i f j i f j i f j i f j i G (1.1)用卷积模板,上式变成:y x G G j i G +=],[ (1.2)其中x G 和y G 由下面的模板计算:G x =-1001 G y =-0110 (1.3)同前面的22⨯梯度算子一样,差分值将在内插点[/,/]i j ++1212处计算.Roberts 算子是该点连续梯度的近似值,而不是所预期的点[,]i j 处的近似值.2 .Sobel 算子和 Prewitt 算子Sobel 算子和P rew it t 算子都是一阶的微分算子,都是先对图像进行平滑处理, 虽然两者都是加权平均滤波, 但是前者邻域的像素对当前像素产生的影响不是等价的, 距离不同的像素具有不同的权值, 对算子结果产生的影响也不同。

这两种算子对噪声都有一定的抑制作用, 但不能完全排除检测结果中出现虚假边缘的情况。

这两者对灰度渐变低噪声的图像有较好的检测效果, 但是对于混合多复杂噪声的图像处理效果就不理想了。

正如前面所讲,采用33⨯邻域可以避免在像素之间内插点上计算梯度.考虑一下上图中所示的点[,]i j 周围点的排列.Sobel 算子也是一种梯度幅值,M s s x y=+22 (1.4) 其中的偏导数用下式计算:)()()()(456210670432a ca a a ca a s a ca a a ca a s y x ++-++=++-++= (1.5)其中常数2=c和其他的梯度算子一样,s x 和s y 可用卷积模板来实现:101202101---=x s 121000121---=y s图1.1请注意这一算子把重点放在接近于模板中心的像素点.Sobel 算子是边缘检测器中最常用的算子之一.45637210],[a a a a j i a a a a 图1.2 用于说明Sobel 算子和Prewitt 算子的邻域像素点标记Prewitt 算子与Sobel 算子的方程完全一样,只是常量c=1.所以101101101---=x s 111000111---=y s (1.6)请注意,与Sobel 算子不同,这一算子没有把重点放在接近模板中心的像素点. 3 .拉普拉斯算子平滑过的阶跃边缘二阶导数是一个在边缘点处过零的函数.拉普拉斯算子是二阶导数的二维等效式.函数),(y x f 的拉普拉斯算子公式为∇=+22222f f x f y ∂∂∂∂ (1.7) 使用差分方程对x 和y 方向上的二阶偏导数近似如下:],[])1,[2]2,[(],[]1,[]),[]1,[(22j i f j i f j i f xj i f x j i f xj i f j i f x G x f x ++-+=-+=-+==∂∂∂∂∂∂∂∂∂∂ (1.8)这一近似式是以点]1,[+j i 为中心的.用1-j 替换j ,得到=22xf ∂∂]1,[]),[2]1,[(-+-+j i f j i f j i f (1.9) 它是以点[,]i j 为中心的二阶偏导数的理想近似式,类似地, =22yf ∂∂],1[]),[2],1[(j i f j i f j i f -+-+ (1.10) 把这两个式子合并为一个算子,就成为下面能用来近似拉普拉斯算子的模板:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-≈∇010******* (1.11)当拉普拉斯算子输出出现过零点时就表明有边缘存在,其中忽略无意义的过零点(均匀零区).原则上,过零点的位置精度可以通过线性内插方法精确到子像素分辨率,不过由于噪声,结果可能不会很精确.LoG 算法正如上面所提到的,利用图像强度二阶导数的零交叉点来求边缘点的算法对噪声十分敏感,所以,希望在边缘增强前滤除噪声.为此,Marr 和Hildreth[146]将高斯滤波和拉普拉斯边缘检测结合在一起,形成LoG (Laplacian of Gaussian, LoG )算法,也称之为拉普拉斯高斯算法.LoG 边缘检测器的基本特征是:1. 平滑滤波器是高斯滤波器.2. 增强步骤采用二阶导数(二维拉普拉斯函数).3. 边缘检测判据是二阶导数零交叉点并对应一阶导数的较大峰值.4. 使用线性内插方法在子像素分辨率水平上估计边缘的位置.LoG 算子的输出h x y (,)是通过卷积运算得到的:h x y g x y f x y (,)[(,)(,)]=∇*2 (1.12) 根据卷积求导法有h x y g x y f x y (,)[(,)](,)=∇*2 (1.13) 其中:∇=+-⎛⎝ ⎫⎭⎪-+2222422222g x y x y e x y (,)σσσ (1.14)称之为墨西哥草帽算子..4 .Canny 边缘检测器检测阶跃边缘的基本思想是在图像中找出具有局部最大梯度幅值的像素点.检测阶跃边缘的大部分工作集中在寻找Canny 边缘检测器是高斯函数的一阶导数,是对信噪比与定位之乘积的最优化逼近算子[Canny 1986].我们将通过下面的符号对Canny 边缘检测器算法作一概括说明.用],[j i I 表示图像.使用可分离滤波方法求图像与高斯平滑滤波器卷积,得到的结果是一个已平滑数据阵列],[];,[],[j i I j i G j i S *=σ,其中σ是高斯函数的散布参数,它控制着平滑程度.已平滑数据阵列S i j [,]的梯度可以使用22⨯一阶有限差分近似来计算x 与y 偏导数的两个阵列],[j i P 与],[j i Q :2/])1,1[]1,[],1[],[(],[2/]),1[]1,1[],[]1,[(],[++-+++-≈+-+++-+≈j i S j i S j i S j i S j i Q j i S j i S j i S j i S j i P (1.15) 在这个22⨯正方形内求有限差分的均值,以便在图像中的同一点计算x 和y 的偏导数梯度.幅值和方位角可用直角坐标到极坐标的坐标转化公式来计算:[]22],[],[,j i Q j i P j i M += (1.16))],[/],[(arctan ],[j i P j i Q j i =θ (1.39)其中,反正切函数包含了两个参量,它表示一个角度,其取值范围是整个圆周范围内.为高效率地计算这些函数,尽量不用浮点运算.梯度的幅度和方向也可以通过查找表由偏导数计算..第一章 边缘检测算子的应用一、Sobel 算子图像的处理实例本设计用算子处理可以分为四步:首先设计高斯平滑滤波模板;其次读入图片并进行高斯滤波;第三用sobel 算子对图像进行处理;最后进行阈值分割细化图像。

相关文档
最新文档