文档库 最新最全的文档下载
当前位置:文档库 › 基于matlab的图像边缘检测算法研究和仿真设计

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

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

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

目录

第1章绪论 1

1.1 序言 1

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

第2章传统边缘检测方法及理论基础 2 2.1 数字图像边缘检测的现状与发展 2

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

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

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

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

第3章编程和调试 10

3.1 edge函数 10

3.2 边缘检测的编程实现 11

第4章总结 13

第5章图像边缘检测应用领域 13

附录参考文献 15

第1章绪论

§1.1 序言

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

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

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

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

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

图像的边缘检测技术是数字图像处理技术的基础研究容,是物体识别的重要基础。边缘特征广泛应用于图像分割、运动检测与跟踪、工业检测、目标识别、双目立体视觉等领域。现有边缘检测技术在抑制噪声方面有一定的局限性,在阈值参数选取方面自适

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

第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]

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

对应一阶导数,第四行对应二阶导数)

一阶导数的二维等效式:

(,)f x x f y y G G x y G ?????????==?????????? (2-1) 梯度的幅值:

|(,)|G x y =(2-2) 和方向:

(,)arctan(/)y x x y G G α= (2-3)

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

的变化率。

用差分来近似梯度

=(1,)(,)x G f x y f x y +- (2-4) (,1)(,)y G f x y f x y =+- (2-5)

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

Roberts 算子是一种利用局部差分算子寻找边缘的算子[5]。 (,)(,)(1,1)(1,)(,1)G x y f x y f x y f x y f x y =-++++-+ (2-6)

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

以(,)f x y 为中心的领域上计算X 和Y 方向的偏导数[6]。

={(1,1)2(1,)(1,1)}{(1,1)2(1,)(1,1)}

x S f x y f x y f x y f x y f x y f x y +-+++++-

--+-+-+ (2-7) ={(1,1)2(,1)(1,1)}{(1,1)2(,1)(1,1)}

y S f x y f x y f x y f x y f x y f x y -++++++-

--+-++- (2-8)

上式应用了(,)f x y 领域的图像强度的加权平均差值。

用模板实现:

§2.4.3 Prewitt 算子

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

={(1,1)(1,)(1,1)}{(1,1)(1,)(1,1)}

x P f x y f x y f x y f x y f x y f x y +-+++++-

--+-+-+ (2-9) ={(1,1)(,1)(1,1)}{(1,1)(,1)(1,1)}y P f x y f x y f x y f x y f x y f x y -++++++-

--+-++- (2-10)

图2.2 Roberts 算子的模板

图2.3 Sobel 算子的33?模板

图2.4 Prewitt算子的33

模板

§2.4.4 Canny算子

Canny边缘检测利用高斯函数的一阶微分,在噪声抑制和边缘检测之间寻求较好的平衡,其表达式近似于高斯函数的一阶导数。

Canny算子是一阶算子。其方法的实质是用1个准高斯函数作平滑运算fs=f(x,y)×G(x,y),然后以带方向的一阶微分算子定位导数最大值。平滑后fs(x,y)的梯度可以使用2×2一阶有限差分近似式:

在这个2×2正方形求有限差分的均值,便于在图像中的同一点计算x和y的偏导数梯度。幅值和方向角可用直角坐标到极坐标的坐标转化来计算:

在这个2×2正方形求有限差分的均值,便于在图像中的同一点计算x和y的偏导数梯度。幅值和方向角可用直角坐标到极坐标的坐标转化来计算:

M[i,j]反映了图像的边缘强度;?[i,j]反映了边缘的方向。使得M[i,j]取得局部最大值的方向角?[i,j],就反映了边缘的方向。Canny算子也可用高斯函数的梯度来近似,在理论上很接近4个指数函数的线性组合形成的最佳边缘算子。在实际工作应用中编程较为复杂且运算较慢。Canny边缘检测算子对受加性噪声影响的边缘检测是最优的。

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

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

1 1 1

0 0 0

-1 -1 -1

-1 0 1

-1 0 1

-1 0 1

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

§2.5.1 Laplacian 算子

Laplacian 算子[8]利用二阶导数信息,具有各向同性,即与坐标轴方向无关,坐标

轴旋转后梯度结果不变。使得图像经过二阶微分后,在边缘处产生一个陡峭的零交叉点,

根据这个对零交叉点判断边缘。拉普拉斯算子是二阶导数的二维等效式:

22222(,)(,)=f x y f x y f x y ?????+(x,y ) (2-11)

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

散计算形式定义为:

22=([1,][,])[1,][,][2,]2[1,][,]

x G f x x f x y f x y x

f x y f x y x x

f x y f x y f x y ??????????+-=+=-=+-++ (2-12)

这一近似式是以点[1,]x y +为中心的,用-1x 替换x ,则 22[1,]2[,][1,]f f x y f x y f x y x ??=+-+- (2-13)

同理: 22=[,1]2[,][,1]f f x y f x y f x y y

??+-+- (2-14)

对于一个33?的区域,经验上被推荐最多的形式,算子表示为: 2010141010?????≈-?????? (2-15)

§2.5.2 LOG 算子

由于梯度算子和拉普拉斯算子都对噪声十分敏感,因而在检测前必须滤除噪声。

Marr 和Hildreth 将高斯滤波和拉普拉斯边缘检测结合在一起,形成

LOG(Laplacian-Gauss)算法。LOG 边缘检测的基本特征[9]为:

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

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

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

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

该算子首先用高斯函数对图像作平滑滤波处理,然后才使用Laplacian 算子检测边

缘,因此克服了Laplacian 算子抗噪声能力比较差的缺点,但是在抑制噪声的同时也可

能将原有的比较尖锐的边缘也平滑掉了,造成这些尖锐边缘无法被检测到。

在实际应用中,常用的LOG 算子是55?的模板:

图2.6 LOG 算子的55?的模板

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

(1)滤波:首先对图像),(y x f 进行平滑滤波,其滤波函数根据人类视觉特性选为

高斯函数,即 222211(,)exp ()22G x y x y πσπσ??=-+ ??? (2-16)

其中,(,)G x y 是一个圆对称函数,其平滑的作用是可通过σ来控制的。将图像

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

(,)(,)(,)g x y f x y G x y =* (2-17)

(2)增强:对平滑图像),(y x g 进行拉普拉斯运算,即

()2(,)(,)(,)h x y f x y G x y =?* (2-18)

(3)检测:边缘检测判据是二阶导数的零交叉点(即(,)0h x y =的点)并对应一阶

导数的较大峰值。

由于对平滑图像),(y x g 进行拉普拉斯运算可等效为),(y x G 的拉普拉斯运算与

),(y x f 的卷积,故上式变为:

2(,)(,)(,)h x y f x y G x y =*? (2-19)

式中),(2y x G ?称为LOG 滤波器,其可写为: ()22222222242211(,)=+=1exp 22G G x y G x y x y x y πδδδ????+???--+ ? ??????? (2-20)

第三章 编程和调试

3.1 edge 函数

在MATLAB 图像处理工具箱中提供了专门的边缘检测edge 函数,由edge 函

数可以实现各算子对边缘的检测,其调用格式如下:

BW=edge(I,’method’)

BW=edge(I,’method’,thresh)

Bw=edge(I,’method’,thresh,direction)

[BW,thresh]=edge(I,’method’,…)

其中,I 是输入图像。edge 函数对灰度图像I 进行边缘检测,返回与I 同样

大的二值图像BW;其中1表示边缘,表示非边缘。I可以是uint8型、uint16型或double 型;BW是uint8型。method是表示选用的方法(算子)类型,可以选择的method有Sobel、Prewitt、Roberts、Log、Canny等。可选的参数有thresh(阈值)、sigma(方差)和direction(方向)。

3.2 边缘检测的编程实现

利用edge函数,分别采用Sobel、Roberts、Prewitt、Log、Canny 5种不同的边缘检测算子编程实现对图5.1所示的原始图像进行边缘提取。

程序代码如下:

%MATLAB调用edge函数实现各算子进行边缘检测程序

I=imread('tire.tif');%读入灰度图像并显示

figure(1),imshow(I);

BW1=edge(I,'sobel',0.1);%用sobel算子进行边缘检测,判断阈值为0.1

figure(2),imshow(BW1)

BW2=edge(I,'roberts',0.1);%用roberts算子进行边缘检测,判断阈值为0.1

figure(3),imshow(BW2)

BW3=edge(I,'prewitt',0.1);%用prewitt算子进行边缘检测,判断阈值为0.1

figure(4),imshow(BW3)

BW4=edge(I,'log',0.01);%用log算子进行边缘检测,判断阈值为0.01

figure(5),imshow(BW4)

BW5=edge(I,'canny',0.1);%用canny算子进行边缘检测,判断阈值为0.1

figure(6),imshow(BW5)

检测效果如图5.2所示,从图中可以看出,在采用一阶微分进行边缘检测时,除了微分算子对边缘检测结果有影响外,阈值选择也对检测有重要影响。比较几种边缘检测结果,可以看到Canny算子提取边缘较完整,其边缘连续性较好,效果优于其它算子。其次是Prewitt算子,其边缘比较完整。再次就是Sobel算子。

第4章总结

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

利用MATLAB,我们可以很方便的对图像边缘检测算法进行仿真研究,比较各自的优缺点,得到最优、效果最好的算法来进行图像处理。

Roberts算子定位比较精确,但由于不包括平滑,所以对于噪声比较敏感。Prewitt 算子是平均滤波的一阶的微分算子,检测的图像边缘可能大于2个像素,对灰度渐变低噪声的图像有较好的检测效果,但是对于混合多复杂噪声的图像,处理效果就不理想了。Canny方法则以一阶导数为基础来判断边缘点。它是一阶传统微分中检测阶跃型边缘效果最好的算子之一。梯度算子计算简单,但精度不高,只能检测出图像大致的轮廓,而对于比较细的边缘可能会忽略。Prewitt和Sobel算子比Roberts效果要好一些。Log 滤波器和Canny算子的检测效果优于梯度算子,能够检测出图像较细的边缘部分。

比较几种边缘检测结果,可以看到Canny算子提取边缘较完整,其边缘连续性较好,效果优于其它算子。其次是Prewitt算子,其边缘比较完整。再次就是Sobel算子。

第5章图像边缘检测应用领域图像是人类获取和交换信息的主要来源,因此,图像边缘处理的应用领域必然涉及到人类生活和工作的方方面面。随着人类活动围的不断扩大,图像边缘检测与提取处理的应用领域也将随之不断扩大。数字图像边缘检测(Digital Image Processing)又称为计算机图像边缘检测,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。数字图像边缘检测最早出现于20世纪50年代,当时的电子计算机已经发展到一定水平,人们开始利用计算机来处理图形和图像信息。数字图像边缘检测中,输入的是质量低的图像,输出的是改善质量后的图像,常用的图像边缘检测处理方法有图像增强、锐化、复原、编码、压缩、提取等。数字图像边缘检测与提取处理的主要应用领域

有:

(1)航天和航空技术方面的应用,数字图像边缘检测技术在航天和航空技术方面的应用,除了月球、火星照片的处理之外,另一方面的应用是在飞机遥感和卫星遥感技术中。从60年代末以来,美国及一些国际组织发射了资源遥感卫星(如LANDSAT系列)和天空实验室(如SKYLAB),由于成像条件受飞行器位置、姿态、环境条件等影响,图像质量总不是很高。现在改用配备有高级计算机的图像边缘检测系统来判读分析首先提取出其图像边缘,既节省人力,又加快了速度,还可以从照片中提取人工所不能发现的大量有用情报。

(2)生物医学工程方面的应用,数字图像边缘检测在生物医学工程方面的应用十分广泛,而且很有成效。除了CT技术之外,还有一类是对阵用微小图像的处理分析,如红细胞、白细胞分类检测,染色体边缘分析,癌细胞特征识别等都要用到边缘的判别。此外,在X光肺部图像增强、超声波图像边缘检测、心电图分析、立体定向放射治疗等医学诊断方面都广泛地应用图像边缘分析处理技术。

(3)公安军事方面的应用,公安业务图片的判读分析,指纹识别,人脸鉴别,不完整图片的复原,以及交通监控、事故分析等。目前己投入运行的高速公路不停车自动收费系统中的车辆和车牌的自动识别(主要是汽车牌照的边缘检测与提取技术)都是图像边缘检测技术成功应用的例子。在军事方面图像边缘检测和识别主要用于导弹的精确制导,各种侦察照片的判读,对不明来袭武器性质的识别,具有图像传输、存储和显示的军事自动化指挥系统,飞机、坦克和军舰模拟训练系统等;

(4交通管理系统的应用,随着我国经济建设的蓬勃发展,城市的人口和机动车拥有量也在急剧增长,交通拥挤堵塞现象日趋严重,交通事故时有发生。交通问题已经成为城市管理工作中的重大社会问题,阻碍和制约着城市经济建设的发展。因此要解决城市交通问题,就必须准确掌握交通信息。目前国常见的交通流检测方法有人工监测、地埋感应线圈、超声波探测器、视频监测4类。其中,视频监测方法比其他方法更具优越性。

视频交通流检测及车辆识别系统是一种利用图像边缘检测技术来实现对交通目标检测

和识别的计算机处理系统。通过对道路交通状况信息与交通目标的各种行为(如违章超速,停车,超车等等)的实时检测,实现自动统计交通路段上行驶的机动车的数量、计算行驶车辆的速度以及识别划分行驶车辆的类别等各种有关交通参数,达到监测道路交通状况信息的作用。

图像边缘检测应用在视频交通流检测和车辆识别系统概述: 1.视频交通流量检测及车

辆识别系统是一个集图像边缘检测系统和信息管理系统为一体的综合系统。计算机图像边缘检测主要由图像输入,图像存储和刷新显示,图像输出和计算机接口等几大部分组成,这些部分的总体构成方案及各部分的性能优劣直接影响处理系统的质量。图像边缘检测的目标是代替人去处理和理解图像,因此实时性,灵活性,精确性是对系统的主要要求。

2.通过摄像机将道路交通流图像捕捉下来,再将这些捕捉到的序列图像送入计算机进行图像边缘检测、图像分析和图像理解,从而得到交通流数据和交通状况等交通信息。

3.应用举例

对于车牌识别技术的研究现状,车牌的自动识别是计算机视觉、图像边缘检测与模式识别技术在智能交通领域应用的重要研究课题之一,是实现交通管理智能化的重要环节,主要包括车牌定位、字符车牌分割和车牌字符识别三个关键环节。发达国家LPR系统在实际交通系统中已成功应用,而我国的开发应用进展缓慢,基本停留在实验室阶段。

参考文献

[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] https://www.wendangku.net/doc/2711547990.html,/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.

经典图像边缘检测

经典图像边缘检测(微分法思想)——Sobel算子 2008-05-15 15:29Sobel于1970年提出了Sobel算子,与Prewitt算子相比较,Sobel算子对检测点的上下左右进一步加权。其加权模板如下: 经典图像边缘检测(微分法思想)——Roberts交叉算子 2008-05-14 17:16 如果我们沿如下图方向角度求其交叉方向的偏导数,则得到Roberts于1963年提出的交叉算子边缘检测方法。该方法最大优点是计算量小,速度快。但该方法由于是采用偶数模板,如下图所示,所求的(x,y)点处梯度幅度值,其实是图中交叉点处的值,从而导致在图像(x,y)点所求的梯度幅度值偏移了半个像素(见下图)。

上述偶数模板使得提取的点(x,y)梯度幅度值有半个像素的错位。为了解决这个定位偏移问题,目前一般是采用奇数模板。 奇数模板: 在图像处理中,一般都是取奇数模板来求其梯度幅度值,即:以某一点(x,y)为中心,取其两边相邻点来构建导数的近似公式:

这样就保证了在图像空间点(x,y)所求的梯度幅度值定位在梯度幅度值空间对应的(x,y)点上(如下图所示)。 前面我们讲过,判断某一点的梯度幅度值是否是边缘点,需要判断它是否大于设定的阈值。所以,只要我们设定阈值时考虑到加权系数产生的影响便可解决,偏导数值的倍数不是一个问题。 经典图像边缘检测(微分法思想)——Prewitt算子 2008-05-15 11:29 Prewitt算子 在一个较大区域中,用两点的偏导数值来求梯度幅度值,受噪声干扰很大。若对两个点的各自一定领域内的灰度值求和,并根据两个灰度值和的差来计算x,y的偏导数,则会在很

基于小波变换的图像边缘检测算法

基于小波变换的图像边缘检测算法仿真实 现 学生姓名:XX 指导教师:xxx 专业班级:电子信息 学号:00000000000 学院:计算机与信息工程学院 二〇一五年五月二十日

摘要 数字图像边缘检测是图像分割、目标区域识别和区域形态提取等图像分析领域中十分重要的基础,是图像识别中提取图像特征一个重要方法。 目前在边缘检测领域已经提出许多算法,但是提出的相关理论和算法仍然存在很多不足之处,在某些情况下仍然无法很有效地检测出目标物的边缘。由于小波变换在时域和频域都具有很好的局部化特征,并且具有多尺度特征,因此,利用多尺度小波进行边缘检测既能得到良好的抑制噪声的能力,又能够保持边缘的完备。 本文就是利用此方法在MATLAB环境下来对数字图像进行边缘的检测。 关键词:小波变换;多尺度;边缘检测

Abstract The boundary detection of digital image is not only the important foundation in the field of image segmentation and target area identification and area shape extraction, but also an important method which extract image feature in image recognition. Right now, there are a lot of algorithms in the field of edge detection, but these algorithms also have a lot of shotucuts, sometimes, they are not very effective to check the boundary of the digital image. Wavelet transform has a good localization characteristic in the time domain and frequency domain and multi-scale features, So, the boundary detection of digital image by using multi-scale wavelet can not only get a good ability to suppress noise, but also to maintain the completeness of the edge. This article is to use this method in the environment of MATLAB to detect the boundary of the digital image. Keywords: wavelet transform; multi-scale; boundary detection.

神经网络学习算法matlab仿真(借鉴参照)

东南大学自动化学院 智能控制概论 神经网络学习算法研究 学院: 姓名: 学号: 日期:

目录 1 任务要求叙述 ..................................................... 错误!未定义书签。 2 系统分析及设计原理 ......................................... 错误!未定义书签。 3 设计实现.............................................................. 错误!未定义书签。4仿真验证.. (6) 5 讨论与分析.......................................................... 错误!未定义书签。

一.任务要求叙述 (1)任务 (a) 运行算法,观察和分析现有学习算法的性能; clear all;close all; nu=20;pi=3.1415926; for i=1:nu p(i)=2*pi*i/nu; t(i)=0.5*(1+cos(p(i))); end minmax=[min(p(:)) max(p(:))] net = newff([ 0 7],[6 1],{'logsig' 'purelin'},'traingd');% traingd traingdm trainlm net.trainParam.epochs = 10000; net.trainParam.goal = 0.0001; net.trainParam.show=200; net.trainParam.lr=0.1; net.trainParam.mc=0.6; %0.9 default value; available for momentum net = train(net,p,t); y1 = sim(net,p); figure(2); plot(p,t,'*-',p,y1,'r--') %************** test data ****************** nu2=nu*3/2; for i=1:(nu2) p2(i)=2*pi*i/(nu2); t2(i)=0.5*(1+cos(p2(i))); end y2 = sim(net,p2); figure(3); plot(t2,'*-');hold on; plot(y2,'r'); xlabel('times');ylabel('outputs'); figure(4); plot(t2-y2); xlabel('times');ylabel('error'); (b) 为了进一步提高学习逼近效果,可以采取那些措施,调节规律如何?根据所提的每种措施,修改算法程序,给出仿真效果验证、过程以及相应的曲线图,给出适当的评述;(c) 联系、结合前向神经网络的算法样本学习、测试等过程,谈谈本人对神经网络系统的一些认识和看法。

几种常用边缘检测算法的比较

几种常用边缘检测算法的比较摘要:边缘是图像最基本的特征,边缘检测是图像分析与识别的重要环节。基于微分算子的边缘检测是目前较为常用的边缘检测方法。通过对Roberts,Sobel,Prewitt,Canny 和Log 及一种改进Sobel等几个微分算子的算法分析以及MATLAB 仿真实验对比,结果表明,Roberts,Sobel 和Prewitt 算子的算法简单,但检测精度不高,Canny 和Log 算子的算法复杂,但检测精度较高,基于Sobel的改进方法具有较好的可调性,可针对不同的图像得到较好的效果,但是边缘较粗糙。在应用中应根据实际情况选择不同的算子。 0 引言 边缘检测是图像分析与识别的第一步,边缘检测在计算机视觉、图像分析等应用中起着重要作用,图像的其他特征都是由边缘和区域这些基本特征推导出来的,边缘检测的效果会直接影响图像的分割和识别性能。边缘检测法的种类很多,如微分算子法、样板匹配法、小波检测法、神经网络法等等,每一类检测法又有不同的具体方法。目前,微分算子法中有Roberts,Sobel,Prewitt,Canny,Laplacian,Log 以及二阶方向导数等算子检测法,本文仅将讨论微分算子法中的几个常用算子法及一个改进Sobel算法。 1 边缘检测

在图像中,边缘是图像局部强度变化最明显的地方,它主要存在于目标与目标、目标与背景、区域与区域( 包括不同色彩) 之间。边缘表明一个特征区域的终结和另一特征区域的开始。边缘所分开区域的内部特征或属性是一致的,而不同的区域内部特征或属性是不同的。边缘检测正是利用物体和背景在某种图像特征上的差异来实现检测,这些差异包括灰度、颜色或纹理特征,边缘检测实际上就是检测图像特征发生变化的位置。边缘的类型很多,常见的有以下三种: 第一种是阶梯形边缘,其灰度从低跳跃到高; 第二种是屋顶形边缘,其灰度从低逐渐到高然后慢慢减小; 第三种是线性边缘,其灰度呈脉冲跳跃变化。如图1 所示。 (a) 阶梯形边缘(b) 屋顶形边缘 (b) 线性边缘 图像中的边缘是由许多边缘元组成,边缘元可以看作是一个短的直线段,每一个边缘元都由一个位置和一个角度确定。边缘元对应着图像上灰度曲面N 阶导数的不连续性。如果灰度曲面在一个点的N 阶导数是一个Delta 函数,那么就

图像边缘检测算法体验步骤

图像边缘检测算法体验步骤 图像边缘检测算法体验步骤(Photoshop,Matlab)1. 确定你的电脑上已经安装了Photoshop和Matlab2. 使用手机或其他任何方式,获得一张彩色图像(任何格式),建议图像颜色丰富,分辨率比较高,具有比较明显的图像边界(卡通图像,风景图像,桌面图像)3. 将图像保存到一个能够找到的目录中,例如img文件夹(路径上没有汉字)4. 启动Photoshop,打开img文件夹中的图像5. 在工具箱中选择“矩形选择”工具,到图面上选择一个区域(如果分辨率比较高,建议不要太大,否则计算过程比较长)6. 点击下拉菜单【文件】-【新建】,新建一个与矩形选择框同样尺寸的Photoshop图像,不要求保存该图像7. 将该彩色图像转换为亮度图像,即点击下拉菜单【图像】-【模式】-【灰度】,如提示是否合并,选择“Yes”8. 将该单色的亮度图像另存为Windows的BMP文件,点击下拉菜单【文件】-【存储为】,在“存储为”窗口中,为该文件起一个名字,例如test1(保存为test1.bmp)9. 启动Matlab,将当期路径(Current Directory)定位到图像文件夹,例如这里的img文件夹10. 使用imread命令读入该图像,在命令行输入:>> f = imread(test1.bmp);11. 在Matlab中显示该图像,在命令行输入:>> figure, imshow(f)12. 然后,分别使用Matlab图像工具箱中的Edge函数,分别使用Sobel算法,高斯-拉普拉斯(Log)算法和Canny算法得到的边缘图像:在命令行输入:>> g_sobel = edge(f, sobel, 0.05); >> g_log = edge(f, log, 0.003, 2.25); >> g_canny = edge(f, canny, [0.04 0.10], 1.5);13 得到边缘图像计算结果后,显示这些边缘图像: >> figure, imshow(g_sobel) >> figure, imshow(g_log) >> figure, imshow(g_canny)14 可以用不同的图像做对比,后续课程解释算法后,可以变换不同的阈值,得到不同的边缘图像

电力电子技术MatLab仿真

本文前言 MA TLAB的简介 MATLAB是一种适用于工程应用的各领域分析设计与复杂计算的科学计算软件,由美国Mathworks公司于1984年正式推出,1988年退出3.X(DOS)版本,19992年推出4.X(Windows)版本;19997年腿5.1(Windows)版本,2000年下半年,Mathworks公司推出了他们的最新产品MATLAB6.0(R12)试用版,并于2001年初推出了正式版。随着版本的升级,内容不断扩充,功能更加强大。近几年来,Mathworks公司将推出MATLAB语言运用于系统仿真和实时运行等方面,取得了很多成绩,更扩大了它的应用前景。MATLAB已成为美国和其他发达国家大学教学和科学研究中最常见而且必不可少的工具。 MATLAB是“矩阵实验室”(Matrix Laboratory)的缩写,它是一种以矩阵运算为基础的交互式程序语言,着重针对科学计算、工程计算和绘图的需要。在MATLAB中,每个变量代表一个矩阵,可以有n*m个元素,每个元素都被看做复数摸索有的运算都对矩阵和复数有效,输入算式立即可得结果,无需编译。MATLAB强大而简易的做图功能,能根据输入数据自动确定坐标绘图,能自定义多种坐标系(极坐标系、对数坐标系等),讷讷感绘制三维坐标中的曲线和曲面,可设置不同的颜色、线形、视角等。如果数据齐全,MATLAB通常只需要一条命令即可做图,功能丰富,可扩展性强。MATLAB软件包括基本部分和专业扩展部分,基本部分包括矩阵的运算和各种变换、代数和超越方程的求解、数据处理和傅立叶变换及数值积分风,可以满足大学理工科学生的计算需要,扩展部分称为工具箱,它实际上使用MATLAB的基本语句编成的各种子程序集,用于解决某一方面的问题,或实现某一类的新算法。现在已经有控制系统、信号处理、图象处理、系统辨识、模糊集合、神经元网络及小波分析等多种工具箱,并且向公式推倒、系统仿真和实时运行等领域发展。MATLAB语言的难点是函数较多,仅基本部分就有七百多个,其中常用的有二三百个。 MATLAB在国内外的大学中,特别是数值计算应用最广的电气信息类学科中,已成为每个学生都应该掌握的工具。MATLAB大大提高了课程教学、解题作业、分析研究的效率。

数字图像处理中的边缘检测技术

课程设计报告 设计题目:数字图像处理中的边缘检测技术学院: 专业: 班级:学号: 学生姓名: 电子邮件: 时间:年月 成绩: 指导教师:

数字图像处理中的边缘检测技术课程设计报告I 目录 1 前言:查阅相关文献资料,了解和掌握基本原理、方法和研究现状,以及实际应用的背景意义 (1) 1.1理论背景 (1) 1.2图像边缘检测技术研究的目的和意义 (1) 1.3国内外研究现状分析 (2) 1.4常用边缘检测方法的基本原理 (3) 2 小波变换和小波包的边缘检测、基于数学形态学的边缘检测法算法原理 (7) 2.1 小波边缘检测的原理 (7) 2.2 数学形态学的边缘检测方法的原理 (7) 3 算法实现部分:程序设计的流程图及其描述 (9) 3.1 小波变换的多尺度边缘检测程序设计算法流程图 (9) 3.2 数学形态学的边缘检测方法程序设计算法描述 (10) 4实验部分:对所给的原始图像进行对比实验,给出相应的实验数据和处理结果 (11) 5分析及结论:对实验结果进行分析比较,最后得出相应的结论 (15) 参考文献 (17) 附录:代码 (18)

1前言 查阅相关文献资料,了解和掌握基本原理、方法和研究现状,以及实际应用的背景意义 1.1 理论背景 图像处理就是对图像信息加工以满足人的视觉心理或应用需求的方法。图像处理方法有光学方法和电子学方法。从20世纪60年代起随着电子计算机和计算技术的不断提高和普及,数字图像处理进入了高速发展时期,而数字图像处理就是利用数字计算机或其它的硬件设备对图像信息转换而得到的电信号进行某些数学处理以提高图像的实用性。 图像处理在遥感技术,医学领域,安全领域,工业生产中有着广泛的应用,其中在医学应用中的超声、核磁共振和CT等技术,安全领域的模式识别技术,工业中的无损检测技术尤其引人注目。 计算机进行图像处理一般有两个目的:(1)产生更适合人观察和识别的图像。 (2)希望能由计算机自动识别和理解图像。数字图像的边缘检测是图像分割、目标区域的识别、区域形状提取等图像分析领域的重要基础,图像处理和分析的第一步往往就是边缘检测。 物体的边缘是以图像的局部特征不连续的形式出现的,也就是指图像局部亮度变化最显著的部分,例如灰度值的突变、颜色的突变、纹理结构的突变等,同时物体的边缘也是不同区域的分界处。图像边缘有方向和幅度两个特性,通常沿边缘的走向灰度变化平缓,垂直于边缘走向的像素灰度变化剧烈。根据灰度变化的特点,图像边缘可分为阶跃型、房顶型和凸缘型。 1.2 图像边缘检测技术研究的目的和意义 数字图像处理是伴随着计算机发展起来的一门新兴学科,随着计算机硬件、软件的高度发展,数字图像处理也在生活中的各个领域得到了广泛的应用。边缘检测技术是图像处理和计算机视觉等领域最基本的技术,如何快速、精确的提取图像边缘信息一直是国内外研究的热点,然而边缘检测也是图像处理中的一个难题。 首先要研究图像边缘检测,就要先研究图像去噪和图像锐化。前者是为了得到飞更真实的图像,排除外界的干扰,后者则是为我们的边缘检测提供图像特征更加明显的图片,即加大图像特征。两者虽然在图像处理中都有重要地位,但本次研究主要是针对图像边缘检测的研究,我们最终所要达到的目的是为了处理速

实验三图像分割与边缘检测

数字图像处理实验报告 学生姓名王真颖 学生学号L0902150101 指导教师梁毅雄 专业班级计算机科学与技术1501 完成日期2017年11月06日

计算机科学与技术系信息科学与工程学院

目录 实验一.................................................................................................. 错误!未定义书签。 一、实验目的.................................................................................................... 错误!未定义书签。 二、实验基本原理 ........................................................................................... 错误!未定义书签。 三、实验内容与要求....................................................................................... 错误!未定义书签。 四、实验结果与分析....................................................................................... 错误!未定义书签。实验总结............................................................................................... 错误!未定义书签。参考资料.. (3) 实验一图像分割与边缘检测 一.实验目的 1. 理解图像分割的基本概念; 2. 理解图像边缘提取的基本概念; 3. 掌握进行边缘提取的基本方法;

人工鱼群算法的仿真程序-matlab

tic figure(1);hold on ezplot('x*sin(10*pi*x)+2',[-1,2]); %% 参数设置 fishnum=50; %生成50只人工鱼 MAXGEN=50; %最多迭代次数 try_number=100;%最多试探次数 visual=1; %感知距离 delta=0.618; %拥挤度因子 step=0.1; %步长 %% 初始化鱼群 lb_ub=[-1,2,1]; X=AF_init(fishnum,lb_ub); LBUB=[]; fori=1:size(lb_ub,1) LBUB=[LBUB;repmat(lb_ub(i,1:2),lb_ub(i,3),1)]; end gen=1; BestY=-1*ones(1,MAXGEN); %每步中最优的函数值 BestX=-1*ones(1,MAXGEN); %每步中最优的自变量 besty=-100; %最优函数值 Y=AF_foodconsistence(X); while gen<=MAXGEN fprintf(1,'%d\n',gen) fori=1:fishnum %% 聚群行为 [Xi1,Yi1]=AF_swarm(X,i,visual,step,delta,try_number,LBUB,Y); %% 追尾行为 [Xi2,Yi2]=AF_follow(X,i,visual,step,delta,try_number,LBUB,Y); if Yi1>Yi2 X(:,i)=Xi1; Y(1,i)=Yi1; else X(:,i)=Xi2; Y(1,i)=Yi2; end end [Ymax,index]=max(Y); figure(1); plot(X(1,index),Ymax,'.','color',[gen/MAXGEN,0,0]) ifYmax>besty besty=Ymax; bestx=X(:,index); BestY(gen)=Ymax;

图像边缘检测算子

课程设计任务书 学院信息科学与工程专业电子信息工程 学生姓名*** 班级学号09******* 课程设计题目图像边缘检测算子 课程设计目的与要求: 设计目的: 1.熟悉几种经典图像边缘检测算子的基本原理。 2.用Matlab编程实现边缘检测,比较不同边缘检测算子的实验结果。设计要求: 1.上述实验内容相应程序清单,并加上相应的注释。 2.完成目的内容相应图像,并提交原始图像。 3.用理论对实验内容进行分析。 工作计划与进度安排: 2012年 06月29 日选题目查阅资料 2012年 06月30 日编写软件源程序或建立仿真模块图 2012年 07月01 日调试程序或仿真模型 2012年 07月01 日结果分析及验收 2012年 07月02 日撰写课程设计报告、答辩 指导教师: 2012年 6月29日专业负责人: 2012年 6月29日 学院教学副院长: 2012年 6月29日

摘要 边缘检测是数字图像处理中的一项重要内容。本文对图像边缘检测的几种经典算法(Roberts算子、Sobel算子、Prewitt算子)进行了分析和比较,并用MATLAB实现这几个算法。最后通过实例图像对不同边缘检测算法的效果进行分析,比较了不同算法的特点和适用范围。 关键词:图像处理;边缘检测;Roberts算子;Sobel算子;Prewitt算子

目录 第1章相关知识.................................................................................................... IV 1.1 理论背景 (1) 1.2 数字图像边缘检测意义 (1) 第2章课程设计分析 (3) 2.1 Roberts(罗伯特)边缘检测算子 (3) 2.2 Prewitt(普瑞维特)边缘检测算子 (4) 2.3 Sobel(索贝尔)边缘检测算子 (5) 第3章仿真及结果分析 (7) 3.1 仿真 (7) 3.2 结果分析 (8) 结论 (10) 参考文献 (11)

图像边缘检测方法的研究与实现刘法200832800066

图像边缘检测方法的研究与实现刘法200832800066

青岛大学专业课程设计 院系: 自动化学院 专业: 电子信息工程 班级: 08级电子信息工程3班学生姓名: 刘法 指导教师: 王汉萍庄晓东 日期: 2011年12月23日

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

各种BP学习算法MATLAB仿真

3.3.2 各种BP学习算法MATLAB仿真 根据上面一节对BP神经网络的MATLAB设计,可以得出下面的通用的MATLAB程序段,由于各种BP学习算法采用了不同的学习函数,所以只需要更改学习函数即可。 MATLAB程序段如下: x=-4:0.01:4; y1=sin((1/2)*pi*x)+sin(pi*x); %trainlm函数可以选择替换 net=newff(minmax(x),[1,15,1],{'tansig','tansig','purelin'},'trainlm'); net.trainparam.epochs=2000; net.trainparam.goal=0.00001; net=train(net,x,y1); y2=sim(net,x); err=y2-y1; res=norm(err); %暂停,按任意键继续 Pause %绘图,原图(蓝色光滑线)和仿真效果图(红色+号点线) plot(x,y1); hold on plot(x,y2,'r+'); 注意:由于各种不确定因素,可能对网络训练有不同程度的影响,产生不同的效果。如图3-8。 标准BP算法(traingd)

图3-8 标准BP算法的训练过程以及结果(原图蓝色线,仿真图+号线)增加动量法(traingdm) 如图3-9。 图3-9 增加动量法的训练过程以及结果(原图蓝色线,仿真图+号线)弹性BP算法(trainrp)如图3-10 图3-10 弹性BP算法的训练过程以及结果(原图蓝色线,仿真图+号线)

动量及自适应学习速率法(traingdx)如图3-11。 图3-11 动量及自适应学习速率法的训练过程以及结果(原图蓝色线,仿真图+号线)共轭梯度法(traincgf)如图3-12。

Matlab做图像边缘检测的多种方法

Matlab做图像边缘检测的多种方法 1、用Prewitt算子检测图像的边缘 I = imread('bacteria.BMP'); BW1 = edge(I,'prewitt',0.04); % 0.04为梯度阈值 figure(1); imshow(I); figure(2); imshow(BW1); 2、用不同σ值的LoG算子检测图像的边缘 I = imread('bacteria.BMP'); BW1 = edge(I,'log',0.003); % σ=2 imshow(BW1);title('σ=2') BW1 = edge(I,'log',0.003,3); % σ=3 figure, imshow(BW1);title('σ=3') 3、用Canny算子检测图像的边缘 I = imread('bacteria.BMP'); imshow(I); BW1 = edge(I,'canny',0.2); figure,imshow(BW1); 4、图像的阈值分割 I=imread('blood1.tif'); imhist(I); % 观察灰度直方图,灰度140处有谷,确定阈值T=140 I1=im2bw(I,140/255); % im2bw函数需要将灰度值转换到[0,1]范围内 figure,imshow(I1); 5、用水线阈值法分割图像 afm = imread('afmsurf.tif');figure, imshow(afm); se = strel('disk', 15); Itop = imtophat(afm, se); % 高帽变换 Ibot = imbothat(afm, se); % 低帽变换 figure, imshow(Itop, []); % 高帽变换,体现原始图像的灰度峰值 figure, imshow(Ibot, []); % 低帽变换,体现原始图像的灰度谷值 Ienhance = imsubtract(imadd(Itop, afm), Ibot);% 高帽图像与低帽图像相减,增强图像figure, imshow(Ienhance); Iec = imcomplement(Ienhance); % 进一步增强图像

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

任务书

主要分析几种应用于数字图像处理中的边缘检测算子,根据它们在实践中的应用结果进行研究,主要包括:Robert 边缘算子、Prewitt 边缘算子、Sobel 边缘算子、Kirsch 边缘算子以及Laplacian 算子等对图像及噪声图像的边缘检测,根据实验处理结果讨论了几种检测方法的优劣. 关键词:数字图像处理;边缘检测;算子

图像的边缘是图像的重要特征之一, 数字图像的边缘检测是图像分割、目标区域识别、区域形状提取等图像分析领域十分重要的基础, 其目的是精确定位边缘, 同时较好地抑制噪声, 因此边缘检测是机器视觉系统中必不可少的重要环节。然而, 由于实际图像中的边缘是多种边缘类型的组合, 再加上外界环境噪声的干扰, 边缘检测又是数字图像处理中的一个难题。

目录 第一章边缘的概念 (3) 第二章边缘检测 (4) 第三章边缘检测算子的应用 (8) 第四章边缘检测方法性能比较 (12) 参考文献料 (15)

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

图像边缘检测技术综述

第 42 卷增刊 1 中南大学学报(自然科学版) V ol.42 Suppl. 1 2011 年 9 月 Journal of Central South University (Science and Technology) Sep. 2011 图像边缘检测技术综述 王敏杰 1 ,杨唐文 1, 3 ,韩建达 2 ,秦勇 3 (1. 北京交通大学 信息科学研究所,北京,100044; 2. 中国科学院沈阳自动化研究所 机器人学国家重点实验室,辽宁 沈阳,110016; 3. 北京交通大学 轨道交通控制与安全国家重点实验室,北京,100044) 摘要:边缘检测是图像处理与分析中最基础的内容之一。首先介绍了几种经典的边缘检测方法,并对其性能进行 比较分析;然后,综述了近几年来出现的一些新的边缘检测方法;最后,对边缘检测技术的发展趋势进行了展望。 关键词:数字图像;边缘检测;综述 中图分类号:TP391.4 文献标志码:A 文章编号:1672?7207(2011)S1?0811?06 Review on image edge detection technologies W ANG Min-jie 1 , Y ANG Tang-wen 1,3 , HAN Jian-da 2 ,QIN Y ong 3 (1.Institute of Information Science,Beijing Jiaotong University, Beijing 100044, China? 2.State Key Laboratory of Robotics, Shenyang Institute of Automation, Chinese Academic of Science,Shenyang 110016, China? 3.State Key Laboratory of Rail Traffic Control and Safety, Beijing Jiaotong University, Beijing 100044, China) Abstract: Edge detection is one of the most fundamental topics in the research area of image processing and analysis. First, several classical edge detection methods were introduced, and the performance of these methods was compared? then, several edge detection methods developed in the latest years were reviewed? finally, the trend of the research of the image edge detection in the future was discussed. Key words:digital image?edge detection?review 图像是人们从客观世界获取信息的重要来源 [1?2] 。 图像信息最主要来自其边缘和轮廓。所谓边缘是指其 周围像素灰度急剧变化的那些象素的集合,它是图像 最基本的特征。边缘存在于目标、背景和区域之 间 [3?4] ,它是图像分割所依赖的最重要的依据。边缘检 测 [5?8] 是图像处理和计算机视觉中的基本问题, 图像边 缘检测是图像处理中的一个重要内容和步骤,是图像 分割、目标识别等众多图像处理的必要基础 [9?10] 。因 此,研究图像边缘检测算法具有极其重要的意义。 边缘检测是计算机视觉和图像处理领域的一项基 本内容。准确、高效地提取出边缘信息一直是该领域 研究的重点内容 [11] 。最初的经典算法可分为边缘算子 法、曲面拟合法、模板匹配法、门限化法等。近年来, 随着数学理论和人工智能的发展,又出现了一些新的 边缘检测的算法 [12?13] ,如基于数学形态学的边缘检 测 [14] 、小波变换和小波包变换的边缘检测法 [15] 、基于 模糊理论的边缘检测法 [16?17] 、基于神经网络的边缘检 测法 [18] 、基于分形几何的边缘检测算法 [19] 、基于遗传 算法的边缘检测法 [20?21] 、漫射边缘的检测方法 [22] 、多 尺度边缘检测技术 [23] 、亚像素边缘的定位技术 [24] 、 收稿日期:2011?04?15;修回日期:2011?06?15 基金项目:轨道交通控制与安全国家重点实验室开放基金资助项目(RCS2010K02);机器人学国家重点实验室开放基金资助项目(RLO200801);北 京交通大学基本科研业务费资助项目(2011JBM019) 通信作者:王敏杰(1988-), 女, 黑龙江五常人, 硕士研究生, 从事图像处理和计算机视觉研究; 电话: 010-51468132; E-mail: wangminjie1118@https://www.wendangku.net/doc/2711547990.html,

实验三 图像的边缘检测

实验三图像的边缘检测 一、实验目的与要求 1、了解图像边缘提取的基本概念; 2、了解进行边缘提取的基本方法; 3、编程实现对所给图像的边缘进行提取。 二、知识点 1、边缘检测的思想和原理 图像理解是图像处理的一个重要分支,研究为完成某一任务需要从图像中提取哪些有用的信息,以及如何利用这些信息解释图像。边缘检测技术对于处理数字图像非常重要,因为边缘是所要提取目标和背景的分界线,提取出边缘才能将目标和背景区分开来。在图像中,边界表明一个特征区域的终结和另一个特征区域的开始,边界所分开区域的内部特征或属性是一致的,而不同的区域内部的特征或属性是不同的,边缘检测正是利用物体和背景在某种图像特性上的差异来实现的,这些差异包括灰度,颜色或者纹理特征。边缘检测实际上就是检测图像特征发生变化的位置。 由于噪声和模糊的存在,检测到的边界可能会变宽或在某些点处发生间断,因此,边界检测包括两个基本内容:首先抽取出反映灰度变化的边缘点,然后剔除某些边界点或填补边界间断点,并将这些边缘连接成完整的线。边缘检测的方法大多数是基于方向导数掩模求卷积的方法。导数算子具有突出灰度变化的作用,对图像运用导数算子,灰度变化较大的点处算得的值比较高,因此可将这些导数值作为相应点的边界强度,通过设置门限的方法,提取边界点集。

一阶导数是最简单的导数算子,它们分别求出了灰度在x和y方向上的变化率,而方向上的灰度变化率可以用相应公式进行计算;对于数字图像,应该采用差分运算代替求导,差分公式参考相关教材。 2、常用的梯度算子 (1)Roberts Cross算子,它的2个2 X2模板如图3所示。 图3 Robert Cross算子模板 (2)Prewitt 算子,它的2个3×3模板如图4所示。 图4 Prewitt算子模板 (3)Sobel 算子,它的2个3×3模板如图5所示。 图3 Sobel算子模板 3、高斯拉普拉斯(LoG)算法 高斯拉普拉斯(LoG)算法是一种二阶边缘检测方法。它通过寻找图像灰度值中二阶微分中的过零点(Zero Crossing)来检测边缘点。其原理为,灰度

图像边缘检测方法的比较

课程大作业实验报告 图像边缘检测方法的比较 课程名称:数字图像处理 指导教师 报告提交日期2010年05月项目答辩日期2010年05月

目录 1、项目要求 (3) 1.1、要求一 (3) 1.2、要求二 (3) 1.3、要求三 (3) 2、项目开发的环境 (3) 3、边缘检测的系统分析 (4) 3.1、系统模块分析 (4) 3.2、系统的关键问题以及解决方法 (4) 4、系统设计 (5) 4.1程序的流程图以及说明 (5) 4、2程序的主要功能模块 (7) 4.2.1 水平梯度算子模块 (7) 4.2.2 垂直梯度算子模块 (8) 4.2.3 水平垂直梯度算子模块 (8) 4.2.4 罗伯茨算法模块 (9) 4.2.5 Sobel模块 (10) 4.2.6 Prewitt模块 (11) 4.2.7 拉普拉斯边缘检测模块 (11) 4.2.8 基于Kirsch算子的快速边缘检测模块 (11) 4.2.9 Robinson算法模块 (12) 4.2.10 高斯LOG模块 (13) 4.2.11 梯度幅值自适应 (14) 5.实验结果与分析 (14) 5.1 实验结果和分析 (15) 5.2 项目的创新之处 (19) 5.3 存在问题及改进设想 (19) 6.心得体会 (20) 6.1 系统开发的体会 (20) 6.2 对本门课程的改进意见或建议 (20)

1 项目要求 1.1 对以下方法编程实现: (1)水平梯度算子; (2)垂直梯度算子; (3)水平垂直梯度算子; (4)罗伯茨梯度算子; (5)拉普拉斯算子; (6)柯西算子; (7)Prewitt算子; (8)Sobel算子; (9)拓展:其他的边缘检测算法 1.2 界面整合为菜单形式,在程序的主界面上显示每种方法的处理时间(利用C语言的 时间函数,计算出处理时间)。 1.3 有好的PPT和电子文档。 2 项目开发的环境 硬件部分:PC机 软件部分:CVI5.0、IMAQ vision(Imaq_CVI.fp、Imaq_CVI.h、Imaq_CVI.lib) 使用语言:C语言

相关文档
相关文档 最新文档