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

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

 

 

摘要

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

本论文首先介绍了图像边缘检测这个课题的意义和背景;作为理论基础,在第二章简单的介绍了传统的图像边缘检测算法,如Roberts算子、Sobel算子、Prewitt算子、Laplacian算子、LOG算子,回顾了经典的边缘检测算法,为后面介绍Canny算法作为铺垫。在第三章,结合Canny算法的基本原理、算法的三个标准、算法的思路及检测步骤提出了对Canny算子中的图像滤波平滑处理及取阈值的算法进行改进的方法,并进行了实验检验。

基于传统Canny算法中采用高斯滤波器对图像滤波平滑处理的效果有待改进,本论文引用了自适应中值滤波器,在使用Canny算法之前,对图像进行滤波,通过图3.4的结果显示,检测效果明显改善;而在取阈值时,在使用Otsu算法的基础上,采用顶帽算子对图像进行预处理以补偿图像,这样能取得更合适的阈值;图3.5和图3.6检测结果分别在滤波器、阈值两个方面进行了实验的比较,并与传统的Canny算法的检测结果进行了对比,显示出了本文所采用的改进算法的优越性。

关键词:边缘检测;Canny算子;自适应中值滤波器;Otsu算法;顶帽算子

 

 


目 录

 

1 绪论

§1.1 序言

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

§1.3 本文的主要章节安排

2 传统边缘检测方法及理论基础

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

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

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

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

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

§2.4.2 Sobel算子

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

§2.5.1 Laplacian算子

§2.5.2 LOG算子

3 Canny边缘检测算法的改进与研究

§3.1 Canny边缘检测算法

§3.1.1 Canny边缘检测基本原理

§3.1.2 Canny算法边缘检测步骤

§3.1.3 Canny算法的流程图

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

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

§3.2.1 自适应中值滤波器

§3.2.2 最大类间方差法

§3.2.3 顶帽变换

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

4  

 

参考文献

 

 

 

 

 

 

 

 

 

 

 

 


第1章 绪论

§1.1 序言

理解图像和识别图像中的目标是计算机视觉研究的中心任务,物体形状、物体边界、位置遮挡、阴影轮廓及表面纹理等重要视觉信息在图像中均有边缘产生。图像边缘是分析理解图像的基础,它是图像中最基本的特征。在Marr的计算机视觉系统中,图像边缘提取占据着非常重要位置,它位于系统的最底层,为其它模块所依赖。图像边缘提取作为计算机视觉领域最经典的研究课题,长期受到人们的重视。

图像边缘主要划分为阶跃状和屋脊状两种类型。阶跃状边缘两侧的灰度值变化明显,屋脊状边缘则位于灰度增加与减少的交界处。传统的图像边缘检测方法大多是从图像的高频分量中提取边缘信息,微分运算是边缘检测与提取的主要手段。由于传统的边缘检测方法对噪声敏感,所以实际运用效果有一定的局限性。近年来,越来越多的新技术被引入到边缘检测方法中,如数学形态学、小波变换、神经网络和分形理论等。

Canny于1986年提出基于最优化算法的边缘检测算子,得到了广泛的应用,并成了与其它实验结果作比较的标准。其原因在于他最先建立了优化边缘检测算子的理论基础,提出了迄今为止定义最为严格的边缘检测的三个标准。另外其相对简单的算法使得整个过程可以在较短的时间内实现。实验结果也表明,Canny算子在处理受加性高斯白噪声污染的图像方面获得了良好的效果[1]。

更多详情点击(可复制到浏览器)

 https://cjsq.scove.cn/ceRwEy

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

数字图像处理是控制领域的重要课题,数字图像边缘检测是图像分割、目标区域识别和区域形状提取等图像分析领域十分重要的基础,是图像识别中提取图像特征的一个重要方法。边缘中包含图像物体有价值的边界信息,这些信息可以用于图像理解和分析,并且通过边缘检测可以极大地降低后续图像分析和处理的数据量。图像理解和分析的第一步往往就是边缘检测,目前它已成为机器视觉研究领域最活跃的课题之一,在工程应用中占有十分重要的地位。

图像的边缘检测技术是数字图像处理技术的基础研究内容,是物体识别的重要基础。边缘特征广泛应用于图像分割、运动检测与跟踪、工业检测、目标识别、双目立体视觉等领域。现有边缘检测技术在抑制噪声方面有一定的局限性,在阈值参数选取方面自适应能力很差,有待进一步改进和提高。(1)多谱图像是图像配准技术中的一个难点,传统的图像配准技术只适用于同源图像,由于红外图像和可见光遥感图像的成像波段不同,对于同一场景,所采集到的图像的差异很大。在此课题中,作者首先通过边缘检测,得到红外图像与遥感可见光图像的边缘图像,再通过尺度不变特征匹配,就能得到红外图像与可见光遥感图像之间的透视变换关系,从而成功完成了多谱图像配准[2]。(2)在“货运列车动态图像故障检测系统(TFDS,Trouble Of Moving Freight Car Detection system)中的故障识别”的课题中,作者采用水平Sobel算子检测边缘,对边缘图像进行水平方向投影,计算得到货运列车底部心盘螺栓大致区域的图像,然后用Harris算子得到一些候选故障区域,最后通过相关匹配来识别故障。(3)在“基于双目立体视觉的人体动作捕捉系统”的课题中,利用图像的边缘和深度信息从视频中分割出人体前景图像。因此对图像边缘检测技术理论及其应用进行研究都有很重要的意义。

§1.3 本文的主要章节安排

本论文首先在第一章介绍了这个课题的意义和背景;在第二章简单的介绍了传统的图像边缘检测算法,如Roberts算子、Sobel算子、Prewitt算子、Laplacian算子、LOG算子作为理论基础,回顾经典的边缘检测算法,也反映了研究本课题的重要性和深度;在第三章着重介绍Canny算法的基本原理、算法的三个标准、算法的思路及检测步骤,也就是本论文的基本思想,在此基础上分别对Canny算子的图像滤波及取阈值的算法进行改进,并与传统的Canny算法的检测结果进行了对比,显示出了本文所采用的改进算法的优越性,同时基于实验结果给出了分析和结论以及不足之处;在第四章,对整个论文的设计进行了总结。

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

在数字图像处理中,边缘特征是图像的重要特征之一,是图像处理、模式识别和计算机视觉的重要组成部分之一,图像边缘检测的结果直接影响进一步图像处理、模式识别的效果。

近几十年来,图像边缘检测技术成为数字图像处理技术重要研究课题之一,随着科学技术的发展,研究人员提出了很多图像边缘检测方法及边缘检测效果的评价方法,并且将这些边缘检测技术应用于计算机视觉和模式识别工程领域,使得边缘检测技术的应用范围越来越广,图像的边缘一般是图像的灰度或者颜色发生剧烈变化的地方,而这些变化往往是由物体的结构和纹理,外界的光照和物体的表面对光的反射造成的。图像的边缘反映了物体的外观轮廓特征,是图像分析和模式识别的重要特征,数字图像处理技术是一门交叉学科,数学理论、人工智能、视觉生理学和心理学等各种理论为边缘检测技术研究注入新的活力,涌现出很多边缘检测理论和方法。根据边缘检测所处理的图像类型,可分为两大类:灰度图像边缘检测方法和彩色图像边缘检测方法。基于本论文仅研究讨论灰度图像边缘检测,这里介绍经典的灰度图像边缘检测方法。

灰度图像的边缘是像素的灰度值发生变化的地方,这些变化通常是屋顶变化或者阶跃变化,图像屋顶变化或者阶跃变化的大小一般用灰度图像一阶导数或二阶导数的大小来描述,所以灰度图像的边缘检测方法主要分为两大类:一阶微分图像边缘检测算子(如Roberts算子、Sobel算子、Prewitt算子)和二阶微分图像边缘检测算子(如Laplacian算子、LOG算子、Canny算子)。

一般来讲,一个好的边缘检测算法应满足如下要求:(1)检测精度高;(2)抗噪能力强;(3)计算简单;(4)易于并行实现。其中最根本的问题是解决检测精度与抗噪声能力间的矛盾。从理论上讲,这两者之间存在着相互制约的互变关系,即不确定性原则。这一原则可表述为,一个信号不可能在时域和频域中任意高度集中。因而边缘的定位精度和抗噪声能力不可能同时无限地提高,这两项指标的乘积为一常数,理论上可以通过改变空域形式来获得任意好的定位精度或信噪比,但不能两者都得到改善。因此,衡量一个检测方法的标准也不能只看某一指标的高低,而应考察其综合指标是否达到理论上的极限。虽然迄今已出现了众多的理论和方法,而且有些方法发展得相当成熟,但从这个意义上讲还没有一种普遍适于任何条件的最优算法。为此人们已将注意力放在研究更直接的、专用的和面向对象的视觉信息系统,如“主动视觉”,“定性视觉” 、“面向任务的视觉”等,通过强调场景和任务的约束、增加信息输入和降低对输出的要求等手段来降低视觉处理问题的难度。这些思想大大丰富和补充了原来的理论,使算法向具体化、实用化方向发展,已成为视觉信息处理中有前途的发展方向[3]。

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

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

(1)数学和计算

(2)算法开发

(3)数据获取

(4)建模、模拟和原型设计

(5)数据分析、研究和可视化

(6)科学和工程图形

(7)应用开发,包括图像用户界面构建

MATLAB是一种交互式系统,其基本数据元素是并不要求确定维数的一个数组。这就允许人们用公式化方法求解许多技术计算问题,特别是涉及矩阵表示的问题。有时,MATLAB可调用C或Fortran这类非交互式语言所编写的程序。

在高等院校中,对于数学、工程和科学理论中的入门课程和高级课程,MATLAB都是标准的计算工具。图像处理工具箱是一个MATLAB函数(称为M函数或M文件)集,它扩展了MATLAB解决图像处理问题的能力。其他有时用于补充IPT的工具箱是信号处理、神经网络、模糊逻辑和小波工具箱。

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

边缘是不同区域的分界线,是图像局部强度变化最显著的那些像素的集合。图像强度的显著变化可分为:

(1)阶跃变化(函数),即图像强度在不连续处的两边的像素灰度值有着显著差异;

(2)线条(屋顶)变化(函数),即图像强度突然从一个值变化到另一个值,保持一较小行程后又回到原来的值。

边缘主要存在于目标与目标、目标与背景、区域与区域(包括不同色彩)之间,边缘是位于两个区域的边界线上的连续像素集合,在边缘处,灰度和结构等信息产生突变。边缘是一个区域的结束,也是另一个区域的开始,利用该特征可以分割图像。

图像的边缘有方向和幅度两个属性,沿边缘方向像素变化平缓,垂直于边缘方向像素变化剧烈。边缘上的这种变化可以用微分算子检测出来,通常用一阶或二阶导数来检测边缘。

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

图像的局部边缘定义为两个强度明显不同的区域之间的过渡,图像的梯度函数即图像灰度变化的速率将在这些过度边界上存在最大值,通过基于梯度算子或导数检测器来估计图像灰度变化的梯度方向,增加图像的这些变化区域,然后对该梯度进行阈值运算,如果梯度值大于某个给定门限,则存在边缘。再将被确定为边缘的像素连接起来,以形成包围着区域的封闭曲线。

一阶导数可以用于检测图像中的一个点是否在斜坡上,二阶导数的符号可以用于判断一个边缘点是在边缘亮的一边还是暗的一边。

两种常见的边缘一阶导数和二阶导数示意图[5]:

 

 

 

 

 

 

 

 

 

 

 

 

 

(a)                 (b)   

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

 

一阶导数的二维等效式:

(2-1)

梯度的幅值:

(2-2)

和方向:

(2-3)

梯度是灰度

坐标方向上的导数,表示灰度
坐标方向上的变化率。

用差分来近似梯度

(2-4)

(2-5)

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

Roberts算子是一种利用局部差分算子寻找边缘的算子[5]。

(2-6)

0

1

-1

0

用模板实现:

 

1

0

0

-1

 

 

 

 

§2.4.2 Sobel算子

Sobel提出了一种将方差运算与局部平均相结合的方法,即Sobel算子,该算子在以

为中心的领域上计算
方向的偏导数[6]。

 

(2-7)

(2-8)

上式应用了

领域的图像强度的加权平均差值。

用模板实现:

1

2

1

0

0

0

-1

-2

-1

 

 

 

-1

0

1

-2

0

2

-1

0

1

 

 

 

 

 

 

§2.4.3 Prewitt算子

Prewitt提出的类似于Sobel的计算偏微分估计值的方法[7]

(2-9)

(2-10)

1

1

1

0

0

0

-1

-1

-1

用模板实现:

 

-1

0

1

-1

0

1

-1

0

1

 

 

 

 

 

图2.4 Prewitt算子的

模板

 

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

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

 

图像强度的二阶导数的零交叉点就是找到的边缘点[7],如图2.5所示:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

图2.5 图像函数的二阶微分

§2.5.1 Laplacian算子

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

(2-11)

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

(2-12)

这一近似式是以点

为中心的,用
替换
,则

(2-13)

 

同理:

(2-14)

对于一个

的区域,经验上被推荐最多的形式,算子表示为:

(2-15)

§2.5.2 LOG算子

由于梯度算子和拉普拉斯算子都对噪声十分敏感,因而在检测前必须滤除噪声。Marr和Hildreth将高斯滤波和拉普拉斯边缘检测结合在一起,形成LOG(Laplacian-Gauss)算法。LOG边缘检测的基本特征[9]为:

(1)平滑滤波器是高斯滤波器;

(2)增强步骤采用二阶导数(二维拉普拉斯函数);

(3)边缘检测判据是二阶导数零交叉点并对应一阶导数的较大峰值;

(4)使用线性内插方法在子像素分辨率水平上估计边缘的位置。

该算子首先用高斯函数对图像作平滑滤波处理,然后才使用Laplacian算子检测边缘,因此克服了Laplacian算子抗噪声能力比较差的缺点,但是在抑制噪声的同时也可能将原有的比较尖锐的边缘也平滑掉了,造成这些尖锐边缘无法被检测到。

在实际应用中,常用的LOG算子是

的模板:

 

-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

 

 

 

 

 

 

 

图2.6 LOG算子的

的模板

该算法的主要思路和步骤如下:

(1)滤波:首先对图像

进行平滑滤波,其滤波函数根据人类视觉特性选为高斯函数,即

(2-16)

其中,

是一个圆对称函数,其平滑的作用是可通过
来控制的。将图像
进行卷积,可以得到一个平滑的图像,即

(2-17)

(2)增强:对平滑图像

进行拉普拉斯运算,即

(2-18)

(3)检测:边缘检测判据是二阶导数的零交叉点(即

的点)并对应一阶导数的较大峰值。

由于对平滑图像

进行拉普拉斯运算可等效为
的拉普拉斯运算与
的卷积,故上式变为:

(2-19)

式中

称为LOG滤波器,其可写为:

(2-20)

 

 

 

 

 

 

 

 

 

 

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

§3.1 Canny边缘检测算法

根据边缘检测的有效性和定位的可靠性,Canny研究了最优边缘检测器所需的特性,推导出最优边缘检测器的数学表达式。对于各种类型的边缘,Canny边缘检测算子的最优形式是不同的。

§3.1.1 Canny边缘检测基本原理

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

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

(3-1)

其中

代表边缘函数,
代表宽度为
的滤波器的脉冲响应,
代表高斯噪声的均方差。信噪比越大,边缘检测效果越好。

(2)好的定位性能,即检测出的边缘点要尽可能在实际边缘的中心;

(3-2)

越大表明定位精度越高。

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

应满足:

(3-3)

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

 

§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:

(3-4)

(3-5)

幅值和方位角:

(3-6)

(3-7)

(3)非极大值抑制(NMS non-maxima suppression)

细化幅值图像中的屋脊带,即只保留幅值局部变化最大的点。仅仅得到全局的梯度并不足以确定边缘,因此为确定边缘,必须保留局部梯度最大的点,而抑制非极大值,解决方法是利用梯度的方向。

将梯度角的变化范围减小到圆周的四个扇区之一,方向角的规范化,如图3.2所示

 

 

 

 

 

 

 

 

 

 

图3.2 方向角的规范化

四个扇区的标号为0到3,对应

邻域的四种可能组合。在每一点上,邻域的中心象素M与沿着梯度线的两个象素相比。如果M的梯度值不比沿梯度线的两个相邻象素梯度值大,则令M=0。这一过程可以把M宽屋脊带细化成只有一个像素点宽。在非极大值抑制过程中,保留了屋脊的高度值。

(4)取阈值

一般而言,边缘信号的响应是比较少的,且是比较大的值,而噪声的响应是很多的但是值相对较小,那么阈值就可以通过滤波后的图像的统计累积直方图得到。对非极大值抑制幅值进行阈值化的结果是一个图像的边缘阵列。阈值化后得到的边缘阵列仍然有假边缘存在,原因是阈值太低(假正确),以及阴影的存在,使得边缘对比度减弱,或阈值取得太高而导致部分轮廓丢失(假错误)。选择合适的阈值是困难的,需要经过反复试验,为了解决这个问题,Canny提出了一种双阈值方法,首先利用累计统计直方图得到一个高阈值

,然后再取一个低阈值
。如果图像信号的响应大于高阈值,那么它一定是边缘;如果低于低阈值,那么它一定不是边缘;如果在低阈值和高阈值之间,我们就看它的8个邻接像素有没有大于高阈值的边缘,如果有,那么它是边缘,否则它不是边缘。在使用Canny算法检测边缘时,高斯滤波器的标准差设为1,强边缘像素点占总像素和的0.3,高低阈值的比例为0.4[16]。

 

§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)中的效果反应了传统的Canny算法不能给出满意的结果,而这一方面源于高斯平滑滤波器的滤波效果,另一方面则是阈值的选取,在Canny算法中基于直方图人工选取阈值可以得到不错的边缘检测效果,但会付出相当的时间和人力代价。

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

§3.2.1 自适应中值滤波器

自适应中值滤波器[4]可以根据被滤波区域的图像特性来改进结果,设

表示一个被处理的、中心在
处的子图像,在Gonzalez and Woods[2002]中详细说明的算法如下所示:

表示
中的最小亮度值,
表示
中的最大亮度值,
表示
中的亮度中值,
表示坐标
处的亮度值。

这个自适应中值滤波算法工作在两个层面,表示为levelA和levelB:

levelA: 若

,则转向levelB,否则增加窗口尺寸,若窗口尺寸
,重复levelA,否则输出

levelB:若

,则输出
,否则输出

其中,

表示允许的最大自适应滤波器窗口的大小。levelA最后一步的另一种选择是输出
来代替中值。

通过给原图添加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 最大类间方差法

最大类间方差法[17-18]是由日本学者大津展之1979年提出的,是一种自适应的阈值确定的方法,又叫大津法,简称Otsu。它是按图像的灰度特性,将图像分成背景和目标两部分。背景和目标之间的类间方差越大,说明构成图像的两部分的差别越大,当部分目标错分为背景或部分背景错分为目标都会导致两部分差别变小。因此,使类间方差最大的分割意味着错分概率最小。对于图像

,前景(即目标)和背景的分割阈值记作
,属于前景的像素点数占整幅图像的比例记为
,其平均灰度
;背景像素点数占整幅图像的比例为
,其平均灰度为
。图像的总平均灰度记为
,类间方差记为
。假设图像的背景较暗,并且图像的大小为
,图像中像素的灰度值小于阈值
的像素个数记作
,像素灰度大于阈值
的像素个数记作
则有:

(3-8)

(3-9)

(3-10)

(3-11)

(3-12)

(3-13)

将式(5)代入式(6),得到等价公式:

(3-14)

采用遍历的方法得到使类间方差最大的阈值

[14][17-21],即为所求。

§3.2.3 顶帽变换

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

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

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

通过对图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算法取阈值,从而得到较好的检测效果。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4章 总 结

 

近几十年来,图像边缘检测技术成为数字图像处理技术重要研究课题之一,随着科学技术的发展,研究人员提出了很多图像边缘检测方法及边缘检测效果的评价方法,并且将这些边缘检测技术应用于计算机视觉和模式识别工程领域,使得边缘检测技术的应用范围越来越广。边缘特征广泛应用于图像分割、运动检测与跟踪、工业检测、目标识别、双目立体视觉等领域。现有边缘检测技术在抑制噪声方面有一定的局限性,在阈值参数选取方面自适应能力很差,有待进一步改进和提高。

本论文首先介绍了图像边缘检测这个课题的意义和背景;作为理论基础,在第二章简单的介绍了传统的图像边缘检测算法,如Roberts算子、Sobel算子、Prewitt算子、Laplacian算子、LOG算子,回顾了经典的边缘检测算法,为后面介绍Canny算法作为铺垫。在第三章结合Canny算法的基本原理、算法的三个标准、算法的思路及检测步骤提出了对Canny算子的流程一、四进行算法改进的方法和实验证明,并与传统的Canny算法的检测结果进行了对比,显示出了本文所采用的改进算法的优越性。

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

参考文献

 

[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 C.Gonzalez,Richard E.Woods,Steven L.Eddins著,阮秋琦等译,数字图像处理(MATLAB版)[M],北京:电子工业出版社,2005年9月.

[5] 郑南宁.计算机视觉与模式识别[M].北京:国防工业出版社,1998.

[6] 黄锋华,刘琪芳,冀金凤.基于matlab数字图像处理边缘检测算子的研究[J].机械工程与自动化,2011.

[7] K.R.Castleman 著,朱志刚等译,数字图像处理[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.

[12] 万力,易昂,傅明.一种基于Canny算法的边缘提取改善算法[J].计算机技术与自动化,2003,22.

[13] 林卉,舒宁,赵长胜.基于Canny算子的边缘检测及评价[J].黑龙江工程学院学报,2003.

[14] 胡文锦.图像边缘检测方法研究:[硕士学位论文].北京:北京交通大学,2009.

[15] 王娜,李霞.一种新的改进canny边缘检测算法[J].深圳大学学报理工版,2005(4):22-2.

[16]  MATLAB Image  Proeessing  Toolbox  User,5  Guide.Versions,The  Math  Works,Inc,Natick MA,USA,2006,2002.

[17] http://zh.wikipedia.org/zh-cn/

[18] 何庆元,韩传久.基于粒子群算法的Otsu法图像阈值分割[J].桂林科技大学学报,2006,26(5):355-358.

[19] 王祥科,郑志强.Otsu多阈值快速分割算法及其在彩色图像中的应用[J].计算机应用,2006,26:14-15.

[20] 李凌.图像分割方法研究与实现[J].宿州学院学报,2006,21(4):85-88.

[21] 王强.图像分割中阈值的选取研究及算法实现[J].计算机与现代化,2006(10):54-56.


©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,377评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,390评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,967评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,344评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,441评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,492评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,497评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,274评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,732评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,008评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,184评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,837评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,520评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,156评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,407评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,056评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,074评论 2 352

推荐阅读更多精彩内容