基于matlab的图像边缘检测算法研究

温柔似野鬼°
624次浏览
2020年08月18日 02:08
最佳经验
本文由作者推荐

东京大学世界排名-师生之间的作文







本科毕业设计(论文)
检测算法研究
学 院:信息工程学院
专 业:自动化
学 号:
学生姓名:
指导教师:


二○一 年 五月 二十三日


题 目:基于matlab的图像边缘


2013届毕业设计(论文)
基于matlab的图像边缘检测算法研究


摘要

图 像的边缘检测技术是数字图像处理技术的基础研究内容,是物体识别的重要基
础。现有边缘检测技术在抑 制噪声方面有一定的局限性,在阈值参数选取方面自适应能
力很差,有待进一步改进和提高。

本论文首先介绍了图像边缘检测这个课题的意义和背景;作为理论基础,在第二章
简单的介绍了 传统的图像边缘检测算法,如Roberts算子、Sobel算子、Prewitt算子、
Lapla cian算子、LOG算子,回顾了经典的边缘检测算法,为后面介绍Canny算法作为
铺垫。在第三 章,结合Canny算法的基本原理、算法的三个标准、算法的思路及检测步
骤提出了对Canny算子 中的图像滤波平滑处理及取阈值的算法进行改进的方法,并进行
了实验检验。
基于传统Can ny算法中采用高斯滤波器对图像滤波平滑处理的效果有待改进,本论
文引用了自适应中值滤波器,在使 用Canny算法之前,对图像进行滤波,通过图3.4的
结果显示,检测效果明显改善;而在取阈值时 ,在使用Otsu算法的基础上,采用顶帽
算子对图像进行预处理以补偿图像,这样能取得更合适的阈值 ;图3.5和图3.6检测结
果分别在滤波器、阈值两个方面进行了实验的比较,并与传统的Canny 算法的检测结果
进行了对比,显示出了本文所采用的改进算法的优越性。
关键词:
边缘检测;Canny算子;自适应中值滤波器;Otsu算法;顶帽算子








I


基于matlab的图像边缘检测算法研究
Research on image edge detection algorithms based
on MATLAB


ABSTRACT

Image edge detection technology is the basis of digital image processing
technology research, an important foundation for object recognition. Existing edge
detection technique has some limitations in noise suppression threshold parameter
selection, poor adaptive capacity needs to be further improved and enhanced.
This paper introduces the image edge detection significance and background of
the subject; theoretical basis, in the second chapter a brief introduction of the
traditional image edge detection algorithm, such as Roberts operator, Sobel operator,
Prewitt operator, Laplacian operator LOG operator, recalling the classic edge
detection algorithm, Canny algorithm described later as bedding. In Chapter 3, the
basic principle of combining the Canny algorithm, the algorithm of the three criteria,
the idea of the algorithm and the detecting step, the improved method of on Canny
operator image smoothing filtering and thresholding algorithms, and experiments
were carried out test.
Based on the traditional Canny algorithm using Gaussian filter smoothing effect
for image filtering needs to be improved, the paper quoted the adaptive median filter,
Canny algorithm, the image is filtered by the results of Figure 3.4 shows the detection
results significantly improved; when the threshold value is taken using the Otsu
algorithm based on the top-hat operator preprocessing on the image to compensate
for the image, this can obtain a more appropriate threshold; Figure 3.5 and Figure 3.6
the detection result, respectively, in the filter threshold two aspects of the comparison
of the experiment, and compared with the traditional the Canny algorithm of detection
results show the superiority of the improved algorithm used in this paper.
Keywords:

edge detection; Canny operator; adaptive median filter; Otsu algorithm;
Top-Hat operator

II


2013届毕业设计(论文)
目 录

第1章 绪论
...................... .................................................. .............................. 1

§1.1 序言 . .................................................. .................................................. ... 1

§1.2 数字图像边缘检测算法的意义 ................. ........................................... 1

§1.3 本文的主要章节安排 ............................... ............................................. 2

第2章 传统边缘检测方法及理论基础
.................. ................................. 3

§2.1 数字图像边缘检测的现状与发展 ................................... ..................... 3

§2.2 MATLAB和图像处理工具箱的背景知识 ........................................... 4

§2.3 数字图像边缘检测关于边缘的定义 ......................... ........................... 4

§2.4 基于一阶微分的边缘检测算子 .................................... ........................ 5

§2.4.1 Roberts算子(梯度交叉算子) ................................ ..................... 6

§2.4.2 Sobel算子 ... .................................................. ................................. 6

§2.5 基于二阶微分的边缘检测算子 .................................... ........................ 7

§2.5.1 Laplacian算子 ...................................... ......................................... 8

§2.5.2 LOG算子 ................................. .................................................. .... 9

第3章 Canny边缘检测算法的改进与研究
......................................... 11

§3.1 Canny边缘检测算法 ............................. .............................................. 11

§3.1.1 Canny边缘检测基本原理 .................. ........................................ 11

§3.1.2 Canny算法边缘检测步骤 ......................... ................................. 12

§3.1.3 Canny算法的流程图 ........................... ....................................... 12

§3.1.3 传统Canny算法的实验与分析 ................................................ 14

§3.2 基于Canny算法的改进与研究 .................. ....................................... 14

III


基于matlab的图像边缘检测算法研究
§3.2.1 自适应中值滤波器 ......................................... ............................ 14

§3.2.2 最大类间方差法 .......................................... ............................... 15

§3.2.3 顶帽变换 ............................................. ........................................ 16

§3.2.4 传统Canny算法与本文算法的实验结果与分析 .................... 18

第4章 总 结
...... .................................................. ......................................... 20

致 谢
...................................... .................................................. .......................... 21

参考文献
... .................................................. .................................................. .... 21













IV


2013届毕业设计(论文)
第1章 绪论

§1.1 序言
理解图像和识别图像中的目标是计算机视觉研究的中心任务,物体形状、物体边界、
位置 遮挡、阴影轮廓及表面纹理等重要视觉信息在图像中均有边缘产生。图像边缘是分
析理解图像的基础,它 是图像中最基本的特征。在Marr的计算机视觉系统中,图像边
缘提取占据着非常重要位置,它位于系 统的最底层,为其它模块所依赖。图像边缘提取
作为计算机视觉领域最经典的研究课题,长期受到人们的 重视。
图像边缘主要划分为阶跃状和屋脊状两种类型。阶跃状边缘两侧的灰度值变化明
显,屋 脊状边缘则位于灰度增加与减少的交界处。传统的图像边缘检测方法大多是从图
像的高频分量中提取边缘 信息,微分运算是边缘检测与提取的主要手段。由于传统的边
缘检测方法对噪声敏感,所以实际运用效果 有一定的局限性。近年来,越来越多的新技
术被引入到边缘检测方法中,如数学形态学、小波变换、神经 网络和分形理论等。
Canny于1986年提出基于最优化算法的边缘检测算子,得到了广泛的应用 ,并成
了与其它实验结果作比较的标准。其原因在于他最先建立了优化边缘检测算子的理论基
础 ,提出了迄今为止定义最为严格的边缘检测的三个标准。另外其相对简单的算法使得
整个过程可以在较短 的时间内实现。实验结果也表明,Canny算子在处理受加性高斯白
噪声污染的图像方面获得了良好的 效果
[1]

§1.2 数字图像边缘检测算法的意义
数字图像处理是控 制领域的重要课题,数字图像边缘检测是图像分割、目标区域识
别和区域形状提取等图像分析领域十分重 要的基础,是图像识别中提取图像特征的一个
重要方法。边缘中包含图像物体有价值的边界信息,这些信 息可以用于图像理解和分析,
并且通过边缘检测可以极大地降低后续图像分析和处理的数据量。图像理解 和分析的第
一步往往就是边缘检测,目前它已成为机器视觉研究领域最活跃的课题之一,在工程应
用中占有十分重要的地位。
图像的边缘检测技术是数字图像处理技术的基础研究内容,是物体识别的 重要基
础。边缘特征广泛应用于图像分割、运动检测与跟踪、工业检测、目标识别、双目立体
视 觉等领域。现有边缘检测技术在抑制噪声方面有一定的局限性,在阈值参数选取方面
第1页 共 22页


基于matlab的图像边缘检测算法研究
自适应能力很差,有待进一步改进 和提高。(1)多谱图像是图像配准技术中的一个难点,
传统的图像配准技术只适用于同源图像,由于红 外图像和可见光遥感图像的成像波段不
同,对于同一场景,所采集到的图像的差异很大。在此课题中,作 者首先通过边缘检测,
得到红外图像与遥感可见光图像的边缘图像,再通过尺度不变特征匹配,就能得到 红外
图像与可见光遥感图像之间的透视变换关系,从而成功完成了多谱图像配准
[2]
。(2)在
“货运列车动态图像故障检测系统(TFDS,Trouble Of Moving Freight Car Detection
system)中的故障识别”的课题中,作者采用水 平Sobel算子检测边缘,对边缘图像进行
水平方向投影,计算得到货运列车底部心盘螺栓大致区域的 图像,然后用Harris算子得
到一些候选故障区域,最后通过相关匹配来识别故障。(3)在“基于 双目立体视觉的人
体动作捕捉系统”的课题中,利用图像的边缘和深度信息从视频中分割出人体前景图< br>像。因此对图像边缘检测技术理论及其应用进行研究都有很重要的意义。
§1.3 本文的主要章节安排
本论文首先在第一章介绍了这个课题的意义和背景;在第二章简单的介绍了传统的
图像边缘检测算法,如Roberts算子、Sobel算子、Prewitt算子、Laplacia n算子、LOG
算子作为理论基础,回顾经典的边缘检测算法,也反映了研究本课题的重要性和深度;< br>在第三章着重介绍Canny算法的基本原理、算法的三个标准、算法的思路及检测步骤,
也就是 本论文的基本思想,在此基础上分别对Canny算子的图像滤波及取阈值的算法进
行改进,并与传统的 Canny算法的检测结果进行了对比,显示出了本文所采用的改进算
法的优越性,同时基于实验结果给 出了分析和结论以及不足之处;在第四章,对整个论
文的设计进行了总结。













第 2 页 共 22页


2013届毕业设计(论文)
第2章 传统边缘检测方法及理论基础

§2.1 数字图像边缘检测的现状与发展
在数字图像处理中,边缘特征是图像的重要特征之一,是图像处理、模式识别和计
算机视觉的重 要组成部分之一,图像边缘检测的结果直接影响进一步图像处理、模式识
别的效果。
近几十年 来,图像边缘检测技术成为数字图像处理技术重要研究课题之一,随着科
学技术的发展,研究人员提出了 很多图像边缘检测方法及边缘检测效果的评价方法,并
且将这些边缘检测技术应用于计算机视觉和模式识 别工程领域,使得边缘检测技术的应
用范围越来越广,图像的边缘一般是图像的灰度或者颜色发生剧烈变 化的地方,而这些
变化往往是由物体的结构和纹理,外界的光照和物体的表面对光的反射造成的。图像的
边缘反映了物体的外观轮廓特征,是图像分析和模式识别的重要特征,数字图像处理技
术是一门 交叉学科,数学理论、人工智能、视觉生理学和心理学等各种理论为边缘检测
技术研究注入新的活力,涌 现出很多边缘检测理论和方法。根据边缘检测所处理的图像
类型,可分为两大类:灰度图像边缘检测方法 和彩色图像边缘检测方法。基于本论文仅
研究讨论灰度图像边缘检测,这里介绍经典的灰度图像边缘检测 方法。
灰度图像的边缘是像素的灰度值发生变化的地方,这些变化通常是屋顶变化或者阶
跃变 化,图像屋顶变化或者阶跃变化的大小一般用灰度图像一阶导数或二阶导数的大小
来描述,所以灰度图像 的边缘检测方法主要分为两大类:一阶微分图像边缘检测算子(如
Roberts算子、Sobel算子 、Prewitt算子)和二阶微分图像边缘检测算子(如Laplacian
算子、LOG算子、Ca nny算子)。
一般来讲,一个好的边缘检测算法应满足如下要求:(1)检测精度高;(2)抗噪能
力强;(3)计算简单;(4)易于并行实现。其中最根本的问题是解决检测精度与抗噪声
能力 间的矛盾。从理论上讲,这两者之间存在着相互制约的互变关系,即不确定性原则。
这一原则可表述为, 一个信号不可能在时域和频域中任意高度集中。因而边缘的定位精
度和抗噪声能力不可能同时无限地提高 ,这两项指标的乘积为一常数,理论上可以通过
改变空域形式来获得任意好的定位精度或信噪比,但不能 两者都得到改善。因此,衡量
一个检测方法的标准也不能只看某一指标的高低,而应考察其综合指标是否 达到理论上
的极限。虽然迄今已出现了众多的理论和方法,而且有些方法发展得相当成熟,但从这
第 3 页 共 22页


基于matlab的图像边缘检测算法研究
个意 义上讲还没有一种普遍适于任何条件的最优算法。为此人们已将注意力放在研究更
直接的、专用的和面向 对象的视觉信息系统,如“主动视觉”,“定性视觉” 、“面向任
务的视觉”等,通过强调场景和任务 的约束、增加信息输入和降低对输出的要求等手段
来降低视觉处理问题的难度。这些思想大大丰富和补充 了原来的理论,使算法向具体化、
实用化方向发展,已成为视觉信息处理中有前途的发展方向
[ 3]

§2.2 MATLAB和图像处理工具箱的背景知识
MATLAB对于技 术计算来说是一种高性能语言。它以易于应用的环境集成了计算、
可视化的编程,在该环境下,问题及其 解以我们熟悉的数学表示法来表示。典型的应用
包括如下方面
[4]

(1)数学和计算
(2)算法开发
(3)数据获取
(4)建模、模拟和原型设计
(5)数据分析、研究和可视化
(6)科学和工程图形
(7)应用开发,包括图像用户界面构建
MATLAB是一 种交互式系统,其基本数据元素是并不要求确定维数的一个数组。
这就允许人们用公式化方法求解许多技 术计算问题,特别是涉及矩阵表示的问题。有时,
MATLAB可调用C或Fortran这类非交互式 语言所编写的程序。
在高等院校中,对于数学、工程和科学理论中的入门课程和高级课程,MATLA B
都是标准的计算工具。图像处理工具箱是一个MATLAB函数(称为M函数或M文件)
集, 它扩展了MATLAB解决图像处理问题的能力。其他有时用于补充IPT的工具箱是
信号处理、神经网 络、模糊逻辑和小波工具箱。
§2.3 数字图像边缘检测关于边缘的定义
边缘是不同区域 的分界线,是图像局部强度变化最显著的那些像素的集合。图像强
度的显著变化可分为:
(1)阶跃变化(函数),即图像强度在不连续处的两边的像素灰度值有着显著差异;
第 4 页 共 22页


2013届毕业设计(论文)
(2)线条(屋顶)变化(函 数),即图像强度突然从一个值变化到另一个值,保持
一较小行程后又回到原来的值。
边缘主 要存在于目标与目标、目标与背景、区域与区域(包括不同色彩)之间,边缘
是位于两个区域的边界线上 的连续像素集合,在边缘处,灰度和结构等信息产生突变。
边缘是一个区域的结束,也是另一个区域的开 始,利用该特征可以分割图像。
图像的边缘有方向和幅度两个属性,沿边缘方向像素变化平缓,垂直于 边缘方向像
素变化剧烈。边缘上的这种变化可以用微分算子检测出来,通常用一阶或二阶导数来检
测边缘。

§2.4 基于一阶微分的边缘检测算子
图像的局部边缘定义为两个强 度明显不同的区域之间的过渡,图像的梯度函数即图
像灰度变化的速率将在这些过度边界上存在最大值, 通过基于梯度算子或导数检测器来
估计图像灰度变化的梯度方向,增加图像的这些变化区域,然后对该梯 度进行阈值运算,
如果梯度值大于某个给定门限,则存在边缘。再将被确定为边缘的像素连接起来,以形
成包围着区域的封闭曲线。
一阶导数可以用于检测图像中的一个点是否在斜坡上,二阶导数的 符号可以用于判
断一个边缘点是在边缘亮的一边还是暗的一边。
两种常见的边缘一阶导数和二阶导数示意图:














[5]

(a) (b)
图2.1 (a)阶跃函数,(b)线条(屋顶)函数(第一行为理论曲线,第二行为实际曲线,第三行 对
应一阶导数,第四行对应二阶导数)

第 5 页 共 22页


基于matlab的图像边缘检测算法研究
一阶导数的二维等效式:

梯度的幅值:

和方向:


2
|G(x,y)|G
x
2
G
y

f


G
x




x
 G(x,y)




f


G
y




y


(2- 1)
(2-2)

(x,y)arctan(G
y
G
x
)
(2-3)
梯度是灰度
f(x,y)

X
Y
坐标方向上的 导数,表示灰度
f(x,y)

X
Y
坐标方向上
的变化率。
用差分来近似梯度


G
x
=f(x1,y)f(x,y)

G
y
f(x,y1)f(x,y)

(2-4)
(2-5)
§2.4.1 Roberts算子(梯度交叉算子)
Roberts算子是一种利用局部差分算子寻找边缘的算子。


[5]< br>G(x,y)f(x,y)f(x1,y1)f(x1,y)f(x,y1)

用模板实现:
(2-6)



1
0
0
-1
0
-1
1
0


§2.4.2 Sobel算子
图2.2 Roberts算子的模板
Sobel 提出了一种将方差运算与局部平均相结合的方法,即Sobel算子,该算子在

f(x,y)
为中心的领域上计算
X

Y
方向的偏导数。


[6]
第 6 页 共 22页


2013届毕业设计(论文)

S
x
={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)}
S
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)}
上式应用了
f(x,y)
领域的图像强度的加权平均差值。
用模板实现:
(2-7)
(2-8)




-1 0
-2 0
-1 0
1
2
1
1
0
2
0
1
0
-1 -2 -1


§2.4.3 Prewitt算子
Prewitt提出的类似于Sobel的计算偏微分估计值的方法

[7]
图2.3 Sobel算子的
33
模板
P
x={f(x1,y1)f(x1,y)f(x1,y1)}
{f(x1,y1 )f(x1,y)f(x1,y1)}
P
y
={f(x1,y1)f (x,y1)f(x1,y1)}
{f(x1,y1)f(x,y1)f(x1 ,y1)}
用模板实现:
(2-9)
(2-10)




-1
-1
-1
0
0
0
1
1
1
1
0
1
0
1
0
-1 -1 -1
图2.4 Prewitt算子的
33
模板

§2.5

基于二阶微分的边缘检测算子

一阶微分是一种矢量,不但有其大小还有方向,和标量 相比,它数据存储量大。另
外,在具有相等斜率的宽区域上,有可能将全部区域都当做边缘提取出来。因 此,有必
要求出斜率的变化率,即对图像函数进行二阶微分运算。

第 7 页 共 22页


基于matlab的图像边缘检测算法研究
图像强度的二阶导数的零交叉点就是找到的边缘点,如图2.5所示:
















[7]

图2.5 图像函数的二阶微分
§2.5.1 Laplacian算子
Laplacian算子利用二阶导数信息,具有各 向同性,即与坐标轴方向无关,坐标轴
旋转后梯度结果不变。使得图像经过二阶微分后,在边缘处产生一 个陡峭的零交叉点,
根据这个对零交叉点判断边缘。拉普拉斯算子是二阶导数的二维等效式:

[8]

2
f(x,y)

2
f(x,y)

(fx,y)=

x
2

y
2
2
(2-11)
上式应用Laplacian算子提取边缘的形式,及二阶偏导数的和,是一个 标量,其离
散计算形式定义为:


2
f

G< br>x
=

x
2

x

(f[x1, y]f[x,y])


x

f[x1,y]

f[x,y]


x

x
f[x2,y]2f[ x1,y]f[x,y]
(2-12)
这一近似式是以点
[x1,y]为中心的,用
x-1
替换
x
,则


第 8 页 共 22页

2
f
f[x1,y]2f[x,y]f[x1,y]

2

x
(2-13)


2013届毕业设计(论文)
同理:


2
f
=f[x,y1]2f[x,y]f[x,y1]

2

y
对于一个
33
的区域,经验上被推荐最多的形式, 算子表示为:
(2-14)


010



2


141




010


(2-15)
§2.5.2 LOG算子
由于梯度算子和拉普拉斯算子都对噪声十分敏感,因而在检测前必须滤除噪声。
M arr和Hildreth将高斯滤波和拉普拉斯边缘检测结合在一起,形成LOG(Laplacian- Gauss)
算法。LOG边缘检测的基本特征为:
(1)平滑滤波器是高斯滤波器;
(2)增强步骤采用二阶导数(二维拉普拉斯函数);
(3)边缘检测判据是二阶导数零交叉点并对应一阶导数的较大峰值;
(4)使用线性内插方法在子像素分辨率水平上估计边缘的位置。
该算子首先用高斯函数对图 像作平滑滤波处理,然后才使用Laplacian算子检测边
缘,因此克服了Laplacian算子 抗噪声能力比较差的缺点,但是在抑制噪声的同时也可
能将原有的比较尖锐的边缘也平滑掉了,造成这些 尖锐边缘无法被检测到。
在实际应用中,常用的LOG算子是
55
的模板:








-2
-4
-4
-4
-2
-4
0
8
0
-4
-4
8
24
8
-4
-4
0
8
0
-4
-2
-4
-4
-4
-2
[9]
图2.6 LOG算子的
55
的模板
该算法的主要思路和步骤如下:
(1)滤波: 首先对图像
f(x,y)
进行平滑滤波,其滤波函数根据人类视觉特性选为
高斯函数, 即
第 9 页 共 22页


基于matlab的图像边缘检测算法研究

G(x,y)
1

22

exp(xy)



22
2


2

1
(2-16)
其中,
G(x,y)
是一个圆对称函数,其 平滑的作用是可通过

来控制的。将图像
G(x,y)

f(x,y )
进行卷积,可以得到一个平滑的图像,即

g(x,y)f(x,y)G(x,y)
(2-17)
(2)增强:对平滑图像
g(x,y)
进行拉普拉斯运算,即

h(x,y)
2

f(x,y)G(x,y)

(2-18)
(3)检测:边缘检测判据是二阶导数的零交叉点(即
h(x,y)0
的点)并对应一阶
导数的较大峰值。
由于对平滑图像
g(x,y)
进行拉 普拉斯运算可等效为
G(x,y)
的拉普拉斯运算与
f(x,y)
的卷积,故 上式变为:

h(x,y)f(x,y)
2
G(x,y)

式中

2
G(x,y)
称为LOG滤波器,其可写为:
(2-19)


2
G
2
G1
x
2
y
2


1
22

 G(x,y)=
2
+
2
=
4

1expxy




2
xy


2

2
2



2
(2-20)










第 10 页 共 22页


2013届毕业设计(论文)
第3章 Canny边缘检测算法的改进与研究
§3.1 Canny边缘检测算法
根据边缘检测的 有效性和定位的可靠性,Canny研究了最优边缘检测器所需的特性,
推导出最优边缘检测器的数学表 达式。对于各种类型的边缘,Canny边缘检测算子的最
优形式是不同的。
§3.1.1 Canny边缘检测基本原理

Canny给出了评价边缘检测性能优劣的三个指标
[10-14]

(1 )好的信噪比,即将非边缘点判为边缘点的概率要低,边缘的漏检率要低;即,
使输出的信噪比最大,定 义信噪比SNR为:

SNR=
|

W
w
G (x)h(x)dx|


w
(3-1)
w
h< br>2
(x)dx
其中
G(x)
代表边缘函数,
h(x)
代表宽度为
W
的滤波器的脉冲响应,

代表高斯噪
声的均方差。信噪 比越大,边缘检测效果越好。
(2)好的定位性能,即检测出的边缘点要尽可能在实际边缘的中心;

Localization
|

W
w
G< br>'
(x)h
'
(x)dx|

Localization< br>越大表明定位精度越高。

w
(3-2)
w
h'2
(x)dx
(3)对单一边缘仅有唯一响应,即单个边缘产生多个响应的概率要低,并 且虚假
边缘响应应得到最大抑制。为了保证单边缘只有一个响应,检测算子的脉冲响应导数的
零 交叉点平均距离
D(f
'
)
应满足:


< br>h
'2
(x)dx




D(f
'
)





w
''
h (x)dx



w

12
(3-3) 以上述指标为基础,利用泛函数求导的方法可导出Canny边缘检测器是信噪比和定
位之乘积的最 优逼近算子。将以上三个指标结合可获得最优的检测算子。

第 11 页 共 22页


基于matlab的图像边缘检测算法研究
§3.1.2 Canny算法边缘检测步骤

Canny算法边缘检测步骤
[5][14]
如下:
(1)用高斯滤波器平滑图像;
(2)用一阶偏导有限差分计算梯度幅值和方向;
(3)对梯度幅值应用非极大值抑制;
(4)用双阈值算法检测和连接边缘。
§3.1.3 Canny算法的流程图
Canny算法的流程图
[15]
如图3.1所示:






输 入
图 像
输出边缘
图像
高斯
平滑
梯度
计算
非极大
值抑制
双门限
检测
图3.1 Canny算法的流程图
(1)高斯平滑滤波器
高斯平滑滤波器是一种线性滤波模板,模板各位置的权重是根据高斯分布函数确定
的,由于高斯 平滑滤波器的二维可分性(轴与轴方向进行高斯滤波互不干扰)。我们可
以用两个一维高斯滤波器的连续 卷积来实现一个二维高斯滤波器:
① 对图像使用一维高斯卷积模板,在一个方向上进行滤波(例如水平方向);
② 转置图像;
③ 对转置以后的图像使用同一个高斯卷积模板,在垂直方向进行滤波;
④ 将图像转置回原来位置,这样就得到经过二维滤波的图像。
(2)使用一阶有限差分计算偏导数的两个阵列P与Q:


P[y,x] (S[y,x1]S[y,x]S[y1,x1]S[y1,x])2

Q[ y,x](S[y1,x]S[y,x]S[y1,x1]S[y,x1])2

(3-4)
(3-5)
幅值和方位角:


第 12 页 共 22页
M

y,x

P[y,x]
2
Q[y,x]
2
(3-6)
(3-7)

[y,x]arctan(Q[y,x]P[y,x])


2013届毕业设计(论文)
(3)非极大值抑制(NMS non- maxima suppression)
细化幅值图像中的屋脊带,即只保留幅值局部变化最大的点 。仅仅得到全局的梯度
并不足以确定边缘,因此为确定边缘,必须保留局部梯度最大的点,而抑制非极大 值,
解决方法是利用梯度的方向。
将梯度角的变化范围减小到圆周的四个扇区之一,方向角的规范化,如图3.2所示





2(90)
3(135

)1(45

)
0(180)

0(0

)






1(225)

2(270)
3(315)


图3.2 方向角的规范化
四个扇区的标号为0到3,对应
33
邻域的四 种可能组合。在每一点上,邻域的中
心象素M与沿着梯度线的两个象素相比。如果M的梯度值不比沿梯度 线的两个相邻象
素梯度值大,则令M=0。这一过程可以把M宽屋脊带细化成只有一个像素点宽。在非< br>极大值抑制过程中,保留了屋脊的高度值。
(4)取阈值
一般而言,边缘信号的响应 是比较少的,且是比较大的值,而噪声的响应是很多的
但是值相对较小,那么阈值就可以通过滤波后的图 像的统计累积直方图得到。对非极大
值抑制幅值进行阈值化的结果是一个图像的边缘阵列。阈值化后得到 的边缘阵列仍然有
假边缘存在,原因是阈值太低(假正确),以及阴影的存在,使得边缘对比度减弱,或
阈值取得太高而导致部分轮廓丢失(假错误)。选择合适的阈值是困难的,需要经过反
复试验, 为了解决这个问题,Canny提出了一种双阈值方法,首先利用累计统计直方图
得到一个高阈值
t
1
,然后再取一个低阈值
t
2
。如果图像信号的响应大于高阈值 ,那么它
一定是边缘;如果低于低阈值,那么它一定不是边缘;如果在低阈值和高阈值之间,我
们就看它的8个邻接像素有没有大于高阈值的边缘,如果有,那么它是边缘,否则它不
是边缘。在使用C anny算法检测边缘时,高斯滤波器的标准差设为1,强边缘像素点占
总像素和的0.3,高低阈值的 比例为0.4
[16]


第 13 页 共 22页


基于matlab的图像边缘检测算法研究
§3.1.3 传统Canny算法的实验与分析
通过传统的Canny算法边缘检测结果如图3.3所示:



(a) (b) (c)
图3.3 传统的Canny算 法边缘检测结果,其中(a)Lena的原图,(b)Canny算法边缘检测结果,(c)
被20%的 椒盐噪声污染后,Canny算法边缘检测结果
图3.3所示“Lena的原图”清晰度一般,行数和 列数均是256,通过多种滤波器检
测,可知该图已被多种噪声污染(即,包含高斯噪声、椒盐噪声、周 期噪声等等
[4]
),而
Canny算法所采用的是高斯平滑滤波器。由图3.3(c )边缘检测结果显示,高斯平滑滤
波器对椒盐噪声滤波效果很差,从而导致边缘检测出现极多的假边缘, 而图3.3(b)未
被人工干预的椒盐噪声污染,检测效果相对而言少去了椒盐噪声产生的假边缘,从而 说
明了边缘检测中对噪声滤波的重要性。在另一方面,通过传统的Canny算法边缘检测,
对 应Canny给出的评价边缘检测性能优劣的三个指标,图3.3(b)中的效果反应了传统
的Cann y算法不能给出满意的结果,而这一方面源于高斯平滑滤波器的滤波效果,另一
方面则是阈值的选取,在 Canny算法中基于直方图人工选取阈值可以得到不错的边缘检
测效果,但会付出相当的时间和人力代 价。
§3.2 基于Canny算法的改进与研究

§3.2.1 自适应中值滤波器
自适应中值滤波器
[4]
可以根据被滤波区域的图像特性来改进结 果,设
S
xy
表示一个被
处理的、中心在
(x,y)
处的子 图像,在Gonzalez and Woods[2002]中详细说明的算法如下
所示:

Z
min
表示
S
xy
中的最小亮度值,
Z
max
表示
S
xy
中的最大亮度值,
Z
med
表 示
S
xy
中的亮
度中值,
Z
xy
表示坐标
(x,y)
处的亮度值。
这个自适应中值滤波算法工作在两个层面,表示为levelA和levelB:
第 14 页 共 22页


2013届毕业设计(论文)
levelA: 若
Z
min
Z
med
Z
max
,则转向levelB,否 则增加窗口尺寸,若窗口尺寸
S
max

重复levelA,否则输出Z
med

levelB:若
Z
min
Z
xy
Z
max
,则输出
Z
xy
,否则输出
Zmed

其中,
S
max
表示允许的最大自适应滤波器窗口的 大小。levelA最后一步的另一种选
择是输出
Z
xy
来代替中值。 通过给原图添加20%的椒盐噪声,然后分别在Matlab中调用中值滤波函数和编写
好的自适应 中值滤波函数给被噪声污染的图片进行滤波去噪,如图所示:




















(a) (b)



(c) (d)
图3.4对图像进行平滑滤波的几种算法的实验结果比较,其中(a)Lena的原图,(b) 被20%的椒盐
噪声污染后Lena的图,(c)通过中值滤波后Lena的图,(d)通过自适应中值 滤波后Lena的图
对于受椒盐噪声污染的图片,传统的中值滤波一般能够取得较好的效果,通过图3 .4
(c)显示,图中依然存在椒盐噪声所导致的污染,而这就会给后续的取阈值及边缘检
测随 着噪声污染的程度带来不同程度的影响,从而影响整个算法的效果,由图3.4(d)
显示,说明自适应 中值滤波器能够很好地滤去椒盐噪声,取得不错的效果。
§3.2.2 最大类间方差法
< br>最大类间方差法
[17-18]
是由日本学者大津展之于1979年提出的,是一种自适 应的阈
第 15 页 共 22页


基于matlab的图像边缘检测算法研究
值确定的方法,又叫大津法,简称Otsu。它是按图像的灰度特性,将图像分成背景和目
标两 部分。背景和目标之间的类间方差越大,说明构成图像的两部分的差别越大,当部
分目标错分为背景或部 分背景错分为目标都会导致两部分差别变小。因此,使类间方差
最大的分割意味着错分概率最小。对于图 像
I(x,y)
,前景(即目标)和背景的分割阈值记

T
,属于前 景的像素点数占整幅图像的比例记为

0
,其平均灰度

0
;背景像素点数
占整幅图像的比例为

1
,其平均灰度为

1
。图像的总平均灰度记为

,类间方差记为
g

假设图像 的背景较暗,并且图像的大小为
MN
,图像中像素的灰度值小于阈值
T
的像
素个数记作
N
0
,像素灰度大于阈值
T
的像素个数记作N
1
则有:
N
0

0


MN
N
1

1


MN




(3-8)

(3-9)
(3-10)
(3-11)
(3-12)
(3-13)
N
0
+N
1
=MN


0
+

1
=1


=

0


0
+

1


1

22

g=

(+


0< br>
0
-


1

1
-
< br>)
将式(5)代入式(6),得到等价公式:

2

g=< br>
0

()
1

0
-

1
(3-14)
,即为所求。 采用遍历的方法得到使类间方差最大的阈值
T
§3.2.3 顶帽变换

[1 4][17-21]
Otsu算法属于全局阈值处理方法,在图像背景照明不均时有可能无效。在这种情 况
下,一种常用的处理方法是针对照明问题做预处理以补偿图像,然后再采用Otsu算法
(全 局阈值处理方法)计算最佳阈值。预处理以补偿图像可应用一个形态学算子,即顶
帽算子
[4]

下面的实验是通过给一张行数和列数均是1024,受污染程度极小的图片(原图已在图3.4(a)中给出)添加20%的椒盐噪声后,再分别采用传统的Canny算法做边缘检测,
经过自适应中值滤波后采用Canny算法做边缘检测,自适应中值滤波、Otsu算法取阈值,
然后调 用Canny算子检测边缘,自适应中值滤波、顶帽变换、Otsu算法取阈值,然后调
第 16 页 共 22页


2013届毕业设计(论文)
用Canny算子检测边缘,结果如图3.5所示:













(a) (b) (c)













(d) (e) (f)













(g) (h) (i)
图3.5 中间数据图,其中(a)被20%的椒盐噪声污染后Lena的图;(b)椒盐噪声 污染后,通过Canny
算法检测边缘的结果;(c)自适应中值滤波后,通过Canny算法检测边缘 的结果;(d)自适应中值
滤波、Otsu算法取阈值,然后调用Canny算子检测边缘的结果;(e )自适应中值滤波、顶帽变换、
Otsu算法取阈值,然后调用Canny算子检测边缘的结果;(f) Rice的原图;(g)椒盐噪声污染后,
通过Canny算法检测边缘;(h)自适应中值滤波、Ot su算法取阈值,然后调用Canny算子检测边缘
的结果;(i)自适应中值滤波、顶帽变换、Ots u算法取阈值,然后调用Canny算子检测边缘的结果



第 17 页 共 22页


基于matlab的图像边缘检测算法研究
§3.2.4 传统Canny算法与本文算法的实验结果与分析













(a)







(b)














(c)








图3.6传统Canny算法与本文算法的实验结果,其中(a)我的 书桌,(b)Canny算法检测的结果,
(c)本文算法的检测结果
第 18 页 共 22页


2013届毕业设计(论文)
通过对图3.5(a-e)结果进行对 比分析,很明显传统Canny算法所采用的高斯平滑
滤波器对椒盐噪声无效,而通过自适应中值滤波后 ,Canny算法的检测效果得到了很大
的改善,但图3.5(c)中依然存在不少假边缘,使得检测效 果较为模糊;图3.5(d)(e)
所反映的检测效果就几乎不存在假边缘,对主体的反映非常明显,这 也就说明了Otsu
算法取阈值的优越性。图3.5(f-i)的结果显示也进一步支持这方面的论证。
图3.6(a)的摄制受到光照不均、电机噪声(周期噪声)等多种噪声影响,通过对
比图3. 6(b)(c)的检测效果,可以说明在边缘检测中,对噪声处理的重要性,这里自
适应中值滤波不仅消 除椒盐噪声,并对原图有一定的平滑作用,结合顶帽变换对因受光
照不均的图像进行预处理,使得可以有 效使用Otsu算法取阈值,从而得到较好的检测
效果。



















第 19 页 共 22页


基于matlab的图像边缘检测算法研究
第4章 总 结
近几十年来,图像边缘检测技术成为数字图像处理技术重要研究课题之一,随着科
学技术的发展,研 究人员提出了很多图像边缘检测方法及边缘检测效果的评价方法,并
且将这些边缘检测技术应用于计算机 视觉和模式识别工程领域,使得边缘检测技术的应
用范围越来越广。边缘特征广泛应用于图像分割、运动 检测与跟踪、工业检测、目标识
别、双目立体视觉等领域。现有边缘检测技术在抑制噪声方面有一定的局 限性,在阈值
参数选取方面自适应能力很差,有待进一步改进和提高。
本论文首先介绍了图像 边缘检测这个课题的意义和背景;作为理论基础,在第二章
简单的介绍了传统的图像边缘检测算法,如R oberts算子、Sobel算子、Prewitt算子、
Laplacian算子、LOG算子,回 顾了经典的边缘检测算法,为后面介绍Canny算法作为
铺垫。在第三章结合Canny算法的基本原 理、算法的三个标准、算法的思路及检测步骤
提出了对Canny算子的流程一、四进行算法改进的方法 和实验证明,并与传统的Canny
算法的检测结果进行了对比,显示出了本文所采用的改进算法的优越 性。

但正如上文所述,边缘检测技术在抑制噪声方面有一定的局限性,在阈值参数选取
方面自适应能力很差,有待进一步改进和提高。本文采用的自适应中值滤波器仅仅在对
椒盐噪声的处理 上体现出优势,而接受边缘检测的图像大多遭受多种噪声的混合干扰,
仅采用某一种滤波器只能处理某一 方面的噪声,而同时又给原图进行了平滑处理,有时
这种处理是不必要的,甚至有害的,这样就弱化了图 像的边缘检测;因此,本文之后的
工作是寻求一种能同时有效的处理多种噪声的污染的滤波算法。














第 20 页 共 22页


2013届毕业设计(论文)
致 谢










参考文献

[1] Zhang B in,He Saixian. Improved Edge- detection Method Based on Canny algorithm[J].Infrared
Technology,2006,28(3):165-169.
[2] 曾俊.图像边缘检测技术及其应用研究:[博士学位论文].武汉:华中科技大学,2011.
[3] 游素亚、杨静,图像边缘检测技术的发展与现状[J].电子科技导报,1995.
[4] Rafael ez,Richard ,Steven 著,阮秋琦等译,数字图像处理(MATLAB版)[M],
北京:电子工业出版社,2005年9月.
[5] 郑南宁.计算机视觉与模式识别[M].北京:国防工业出版社,1998.
[6] 黄锋华,刘琪芳,冀金凤.基于matlab数字图像处理边缘检测算子的研究[J].机械工程与自动化,20 11.
[7] man 著,朱志刚等译,数字图像处理[M].北京:电子工业出版社,1998,9.
[8] 章毓晋.图像处理和分析基础[M].北京:科学出版社,2002.
[9] 李小红.基于LOG滤 波器的图像边缘检测算法的研究[J].计算机应用与软件,2005,22(5);107-108.
[10] Canny J.A computational approach to edge detection[J].IEEE Transactions on Pattern Analysis and
Machine Intelligence,1986, 8(6):679-698.
[11] 张斌,贺赛先.基于Canny算子的边缘提取改善方法[J].红外技术,2006,28 (3):165-169.
第 21 页 共 22页


基于matlab的图像边缘检测算法研究
[12] 万力,易昂,傅明.一 种基于Canny算法的边缘提取改善算法[J].计算机技术与自动化,2003,22.
[13] 林卉,舒宁,赵长胜.基于Canny算子的边缘检测及评价[J].黑龙江工程学院学报,2003.
[14] 胡文锦.图像边缘检测方法研究:[硕士学位论文].北京:北京交通大学,2009.
[15] 王娜,李霞.一种新的改进canny边缘检测算法[J].深圳大学学报理工版,2005(4):22-2.
[16] MATLABImage Proeessing Toolbox User,5 ns,The Math Works,Inc,Natick
MA,USA,2006,2002.
[17] http:-cn
[18]何庆元,韩传久.基于粒子群算法的Otsu法图像阈 值分割[J].桂林科技大学学报,2006,26(5):355-358.
[19]
< br>王祥科,郑志强.Otsu多阈值快速分割算法及其在彩色图像中的应用[J].计算机应用,2006, 26:14-15.
[20] 李凌.图像分割方法研究与实现[J].宿州学院学报,2006,21(4):85-88.
[21] 王强.图像分割中阈值的选取研究及算法实现[J].计算机与现代化,2006(10):54-56.
第 22 页 共 22页

感恩教师的话-两学一做方案


养护管理-党员两学一做心得体会


郑州大学录取分数线-关于桥的谚语


滨州公务员考试-学生安全责任书


淮阴师范教务处-小学教师年终总结


广东涉外经济学院-数学小报图片


中国共产党党内监督条例-浙江工商教务网


无锡南洋-教师年度考核述职