欢迎来到我的范文网!

kirsch算子与梯度的关系

工作报告 时间:2020-02-22

【www.myl5520.com--工作报告】

数字图像处理实验报告
篇一:kirsch算子与梯度的关系

《数字图像处理》

课程实验报告

专 业 班 级 学 号 学生姓名 指导教师 学 期 完成日期

计算机系统结构

(1)班

1303210015

刘贺鹏

吕建平老师 2013-2014学年第2学期

2014-6-10

1

《数字图像处理》实验内容及要求

一、灰度图像的快速傅立叶变换

1、 实验任务

对一幅灰度图像实现快速傅立叶变换(DFT),得到并显示出其频谱图,观察图像傅立叶变换的一些重要性质。 2、 实验条件

微机一台、Matlab R2013a版本 3、实验原理

傅立叶变换是一种常见的图像正交变换,通过变换可以减少图像数据的相关性,获取图像的整体特点,有利于用较少的数据量表示原始图像。

二维离散傅立叶变换的定义如下:

M1N1

F(u,v)

傅立叶反变换为:

f(x,y)e

x0y0

j2(

uxvy)MN

1

f(x,y)

MN

M1N1u0v0

F(u,v)e

j2(

uxvy)MN

式中变量u、v称为傅立叶变换的空间频率。图像大小为M×N。随着计算机技术和数字电路的迅速发展,离散傅立叶变换已经成为数字信号处理和图像处理的一种重要手段。但是,离散傅立叶变换需要的计算量太大,运算时间长。库里和图基提出的快速傅立叶变换大大减少了计算量和存储空间,因此本实验利用快速傅立叶变换来得到一幅灰度图像的频谱图。

快速傅立叶变换的基本思路是把序列分解成若干短序列,并与系数矩阵元素巧妙结合起来计算离散傅立叶变换。若按照奇偶序列将X(n)进行划分,设:

g(n)x(2n)

N

 (n=0,1,2,…,1)

2h(n)x(2n1)

则一维傅立叶变换可以改写成下面的形式:kirsch算子与梯度的关系。

mn

X(m)x(n)WN

n0N1

2

g(n)W

n0

N12n0

N12

mnN

h(n)W

n0

N12n0

N12

mnN

m(2n)m(2n1)

x(2n)Wx(2n1)WNN 

N

12n0

N12n0

mnmnm

x(2n)Wx(2n1)WWNNN 

2

m

2

=G(m)+WNH(m)

N

点的 FFT。根据以上公式2

推导直到2点的FFT为止,这时可以由原始数据X(n)直接求出。根据傅立叶变换的可分离性,图像的二维FFT可以由先对图像的行进行一次一维FFT,再对结果按列进行一次一维FFT得到。 4、实验步骤

(1) 实现灰度图像读取、保存模块; (2) 编程实现图像的快速傅立叶变换; (3) 将得到的频谱图显示出来。 5、实验结果

实验采用大小为256×256的灰度图像liuhp.jpg。原始图像、未中心化的傅里叶变换图像和快速傅立叶变换后的频谱图如下图所示。

因此,一个求N点的FFT可以转换成两个求

3

6、实验心得

通过本次试验让我了解到灰度图像和彩色图像的区别,一般情况是灰度图像

是二维的,而彩色图像是三维的,可以通过“whos 图像函数”了解一个图像的基本属性信息。另外了解快速傅里叶变换需要一定的耐心,也需要一定的高等数学基础、最基本的级数变换。更让我知道了fft2、fftshiftd等函数的用法。 实验代码如下: clear all;

f=imread('liuhp.jpg');

f=rgb2gray(f);%将此图像转化成灰度图像 subplot(2,2,1),imshow(f); title('原始图像');

F=fft2(f);%二维傅里叶变换 subplot(2,2,2),imshow(F);

title('未中心化的傅里叶变换图像'); F2=fftshift(abs(F)); %中心化

subplot(2,2,3),imshow(log(1+F2),[]); title('中心化傅立叶变换结果'); 二、 灰度图像的直方图均匀化

4

1、实验任务

⑴ 进一步掌握灰度图象直方图的概念,性质;

⑵ 对一幅灰度图象实现直方图均衡化,对比修正前后的图像效果 ⑶ 通过Matlab或VC++开发环境,编程实现灰度图象的直方图均匀化

处理。

2、实验条件

微机一台、Matlab R2013a版本 3、 实验原理

直方图均衡也称灰度均衡,目的是通过点运算使输入图像转换为在每一灰度级上都有相同的像素点数的输出图像(即输出的直方图是平的)。 按照图像的概率密度函数的定义:

DMAX

DBf(DA)

A0

其中H(x)为直方图,

1

Hip(x)H(x)A0i0

A0为图像的面积。

DA

设转换前图像的概率密度函数为

pr(r),转换后图像的概率密度函数

ps(s),转换函数为sf(r)。由概率论知识,我们可以得到:

dr

ps(s)pr(r)

ds

这样,如果想使转换后的图像的概率密度函数为1(即直方图为平的),则必须满足:

pr(r)

dsdr

r

等式两边对r积分,可得:

1r

sf(r)Pr(u)duH(u)du

00A0

该转换公式被称为图像的累积分布函数。 直方图均衡的转换公式为:

5

边缘检测原理(内含三种算法)
篇二:kirsch算子与梯度的关系

摘 要

数字图像处理技术是信息科学中近几十年来发展最为迅速的学科之一。图像边缘是图像最基本的一种特征,边缘在图像的分析中起着重要的作用。边缘作为图像的一种基本特征,在图像识别、图像分割、图像增强以及图像压缩等的领域中有较为广泛的应用,其目的就是精确定位边缘,同时更好地抑制噪声。目前,数字图像处理技术被广泛应用于航空航天、通信、医学及工业生产等领域中。图像边缘提取的手段多种多样,本文主要通过MATLAB语言编程分别用不同的算子例如Roberts算子、Prewitt算子、Sobel算子、Kirsch算子、Laplacian算子、Log算子和Canny算子等来实现静态图像的边缘检测,并且和检测加入高斯噪声的图像进行对比。阐述了不同算子在进行图像边缘提取的特点,并在此基础上提出利用小波变换来实现静态图像的边缘检测。

【关键字】 图像边缘 数字图像 边缘检测 小波变换

背景

图像处理就是对图像信息加工以满足人的视觉心理或应用需求的方法。图像处理方法有光学方法和电子学方法。从20世纪60年

代起随着电子计算机和计算技术的不断提高和普及,数字图像处理进入了高速发展时期,而数字图像处理就是利用数字计算机或其它的硬件设备对图像信息转换而得到的电信号进行某些数学处理以提高图像的实用性。

计算机进行图像处理一般有两个目的:(1)产生更适合人观察和识别的图像。(2)希望能由计算机自动识别和理解图像。数字图像的边缘检测是图像分割、目标区域的识别、区域形状提取等图像分析领域的重要基础,图像处理和分析的第一步往往就是边缘检测。

边缘是图象最基本的特征. 边缘检测在计算机视觉、图象分析等应用中起着重要的作用,是图象分析与识别的重要环节,这是因为子图象的边缘包含了用于识别的有用信息. 所以边缘检测是图像分析和模式识别的主要特征提取手段。

所谓边缘是指其周围像素灰度后阶变化或屋顶状变化的那些像素的集合,它存在于目标与背景、目标与目标、区域与区域,基元与基元之间。 因此它是图象分割所依赖的重要的特征,也是纹理特征的重要信息源和形状特征的基础;而图象的纹理形状特征的提取又常常依赖于图象分割。 图象的边缘提取也是图象匹配的基础,因为它是位置的标志,对灰度的变化不敏感,它可作为匹配的特征点。

图象的其他特征都是由边缘和区域这些基本特征推导出来

的. 边缘具有方向和幅度两个特征. 沿边缘走向,像素值变化比较平缓;而垂直与边缘走向,则像素值变化比较剧烈. 而这种剧烈可能呈

现阶跃状,也可能呈现斜坡状。 边缘上像素值的一阶导数较大;二阶导数在边缘处值为零,呈现零交叉。

经典的、最简单的边缘检测方法是对原始图象按像素的某邻域构造边缘算子. 由于原始图象往往含有噪声,而边缘和噪声在空间域表现为灰度有比较大的起落;在频域则反应为同是高频分量,这就给边缘检测带来困难.

原理

边缘是图像上灰度变化最剧烈的地方,传统的边缘检测就是利用了这个特点,对图像各个像素点进行微分或求二阶微分来确定边缘像素点。一阶微分图像的峰值处对应着图像的边缘点;二阶微分图像的过零点处对应着图像的边缘点。根据数字图像的特点,处理图像过程中常采用差分来代替导数运算,对于图像的简单一阶导数运算,由于具有固定的方向性,只能检测特定方向的边缘,所以不具有普遍性。为了克服一阶导数的缺点,我们定义图像的梯度为梯度算子,它是图像处理中最常用的一阶微分算法。图像梯度的最重要性质是梯度的方向是在图像灰度最大变化率上,它恰好可以反映出图像边缘上的灰度变化。

1 .Roberts算子

边缘,是指周围像素灰度有阶跃变化或屋顶等变化的那

些像素的集合。图像的边缘对应着图像灰度的不连续性。显然图像的边缘很少是从一个灰度跳到另一个灰度这样的理想状况。真实图像的边缘通常都具有有限的宽度呈现出陡峭的斜坡状。

边缘的锐利程度由图像灰度的梯度决定。梯度是一个向量,∇f指出灰度变化最快的方向和变化量。 f(

梯度大小由 ff f xy22ff,) xy

确定。而梯度方向则由

fy fx

确定。

因此最简单的边缘检测算子是用图像的垂直和水平差分来逼近梯度算子:

f(fx,yfx1,y,f(x,y)f(x,y1))

算出(2.1.4)的向量,然后求出它的绝对值。利用这种思想就得到了Roberts算子:

g(x,y){[f(x,y)f(x1,y1)]2[f(x,y1)f(x1,y)]2} 2 .Prewitt算子

经典边缘检测算子对比
篇三:kirsch算子与梯度的关系

经典边缘检测算子比较

张丽

南京信息工程大学 信息与计算科学系,南京210044

摘要:图像边缘检测技术是图像分割、目标识别、区域形态提取等图像分析领域中十分重要的基础。本文简要介绍各种经典图像边缘检测算子的基本原理,用Matlab仿真实验结果表明各种算子的特点及对噪声的敏感度,为学习和寻找更好的边缘检测方法提供参考价值。 关键字:图像处理;边缘检测;算子;比较

引言

图像的边缘时图像最基本的特征之一。所谓边缘(或边沿)是指周围像素灰度有阶跃性变化或“屋顶”变化的那些像素的集合。边缘广泛存在于物体与背景之间、物体与物体之间、基元与基元之间,因此它是图像分割依赖的重要特征。图像边缘对图像识别和计算机分析十分有用,边缘能勾划出目标物体,使观察者一目了然;边缘蕴含了丰富的内在信息(如方向、阶跃性质、形状等)。从本质上说,图像边缘是图像局部特性不连续性(灰度突变、颜色突变、纹理结构突变等)的反应,它标志着一个区域的终结和另一个区域的开始。

边缘检测技术是所有基于边界分割的图像分析方法的第一步,首先检测出图像局部特性的不连续性,再将它们连成边界,这些边界把图像分成不同的区域,检测出边缘的图像就可以进行特征提取和形状分析。为了得到较好的边缘效果,现在已经有了很多的边缘检测算法以及一些边缘检测算子的改进算法。但各算子有自己的优缺点和适用领域。本文着重对一些经典边缘检测算子进行理论分析、实际验证并对各自性能特点做出比较和评价,以便实际应用中更好地发挥其长处,为新方法的研究提供衡量尺度和改进依据。

一 各种经典边缘检测算子原理简介

图像的边缘对人的视觉具有重要的意义,一般而言,当人们看一个有边缘的物体时,首先感觉到的便是边缘。灰度或结构等信息的突变处称为边缘。边缘是一个区域的结束,也是另一个区域的开始,利用该特征可以分割图像。需要指出的是,检测出的边缘并不等同于实际目标的真实边缘。由于图像数据时二维的,而实际物体是三维的,从三维到二维的投影必然会造成信息的丢失,再加上成像过程中的光照不均和噪声等因素的影响,使得有边缘的地

1

方不一定能被检测出来,而检测出的边缘也不一定代表实际边缘。图像的边缘有方向和幅度两个属性,沿边缘方向像素变化平缓,垂直于边缘方向像素变化剧烈。边缘上的这种变化可以用微分算子检测出来,通常用一阶或两阶导数来检测边缘,如下图所以。不同的是一阶导数认为最大值对应边缘位置,而二阶导数则以过零点对应边缘位置。

a)图像灰度变化 (b)一阶导数 (c)二阶导数

kirsch算子与梯度的关系。

基于一阶导数的边缘检测算子包括Roberts算子、Sobel算子、Prewitt算子等,在算法实现过程中,通过22(Roberts算子)或者33模板作为核与图像中的每个像素点做卷积和运算,然后选取合适的阈值以提取边缘。拉普拉斯边缘检测算子是基于二阶导数的边缘检测算子,该算子对噪声敏感。一种改进方式是先对图像进行平滑处理,然后再应用二阶导数的边缘检测算子,其代表是LOG算子。前边介绍的边缘检测算子法是基于微分方法的,其依据是图像的边缘对应一阶导数的极大值点和二阶导数的过零点。Canny算子是另外一类边缘检测算子,它不是通过微分算子检测边缘,而是在满足一定约束条件下推导出的边缘检测最优化算子。

1 Roberts(罗伯特)边缘检测算子

景物的边缘总是以图像中强度的突变形式出现的,所以景物边缘包含着大量的信息。由于景物的边缘具有十分复杂的形态,因此,最常用的边缘检测方法是所谓的“梯度检测法”。

s(x,y)是图像边缘的梯度值;(x,y)是梯度的方向。 设f(x,y)是图像灰度分布函数;

则有 s(x,y)kirsch算子与梯度的关系。

f(xn,y)f(x,y)f(x,yn)f(x,y) (1)

2

1

22

(n=1,2,...)

1

(x,y)tan

f(x,yn)f(x,y)/f(xn,y)f(x,y) (2)

式(1)与式(2)可以得到图像在(x,y)点处的梯度大小和梯度方向。

将式(1)改写为: g(x,y)2

1

22

(3)

g(x,y)称为Roberts边缘检测算子。式中对f(x,y)等的平方根运算使该处理类似于人类视觉系统的发生过程。事实上Roberts边缘检测算子是一种利用局部差分方法寻找边缘的算

子,Robert梯度算子所采用的是对角方向相邻两像素值之差,所以用差分代替一阶偏导,算子形式可表示如下:

2

xf(x,y)f(x,y)f(x1,y1)

(4)

f(x,y)f(x1,y)f(x,y1)y

上述算子对应的两个22模板如图(A)所示。实际应用中,图像中的每个像素点都用这

两个模板进行卷积运算,为避免出现负值,在边缘检测时常提取其绝对值。

(a) (b) 图(A)Robert算子模板

2 Sobel(索贝尔)边缘检测算子

该算子是由两个卷积核g1(x,y)与g2(x,y)对原图像f(x,y)进行卷积运算而得到的。其数学表达式为:

MN

MN

S(x,y)MAXf(m,n)g1(im,jn),f(m,n)g2(im,j

n)(5)

m1n1m1n1kirsch算子与梯度的关系。

实际上Sobel边缘算子所采用的算法是先进行加权平均,然后进行微分运算,我们可以

用差分代替一阶偏导,算子的计算方法如下:

1,y1)xf(x,y)f(x

1,y1)yf(x,y)f(x

2fx(,y2fx(

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

y1,

y1,

1)fx(1)fx(

y1,1)f2xy(,

1f)x

(y1,(y1,

y1,1)f2x(y1,f)x

(6)

Sobel算子垂直方向和水平方向的模板如图(B)所示,前者可以检测出图像中的水平方向的边缘,后者则可以检测图像中垂直方向的边缘。实际应用中,图像中的每一个像素点都用这两个卷积核进行卷积运算,取其最大值作为输出。运算结果是一幅体现边缘幅度的图像。

(a) (b) 图(B)Sobel算子模板

3 Prewitt(普瑞维特)边缘检测算子

Prewitt边缘检测算子就是一种利用局部差分平均方法寻找边缘的算子,它体现了三对像素点像素值之差的平均概念,因为平均能减少或消除噪声,为此我们可以先求平均,再求

3

差分,即利用所谓的平均差分来求梯度。用差分代替一阶偏导可得算子形式如下:

xf(x,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)yf(x,y)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)

(7) Prewitt边缘检测算子的两个模板如图(C)所示,它的使用方法同Sobel算子一样,图像中的每个点都用这两个核进行卷积,取得最大值作为输出。Prewitt算子也产生一幅边缘图像。

(a) (b) 图(C

)Prewitt算子模板

4 Laplacian(拉普拉斯)边缘检测算子

对于阶跃状边缘,其二阶导数在边缘点出现过零交叉,即边缘点两旁的二阶导数取异号,据此可以通过二阶导数来检测边缘点。拉普拉斯边缘检测算子正是对二维函数进行二阶导数运算的标量算子,它的定义是:

22

f(x,y)2f(x,y)2f(x,y) (8)

xy

2

用差分代替二阶偏导时,与前述三个一阶导数算子不同,拉普拉斯算子的形式可表示如下:

2

f(x,y)f(x1,y)f(x1,y)f(x,y1)f(x,y1)4f(x,y)2f(x,y)f(x1,y1)f(x,y1)f(x1,y1)f(x1,y)f(x1,y)

f(x1,y1)f(x,y1)f(x1,y1)8f(x,y)

(9)

拉普拉斯边缘检测算子的模板如图(D)所示,模板的基本特征是中心位置的系数为正,其余位置的系数为负,且模板的系数之和为零。它的使用方法是用图中的两个点阵之一作为卷积核,与原图像进行卷积运算即可。拉普拉斯算子又是一个线性的移不变算子,它的传递函数在频域空间的原点为零,因此,一个经拉普拉斯滤波过的图像具有零平均灰度。拉普拉斯检测模板的特点是各向同性,对孤立点及线端的检测效果好,但边缘方向信息丢失,对噪声敏感,整体检测效果不如梯度算子。因此,它很少直接用于边缘检测。但注意到与Sobel算子相比,对图像进行处理时,拉普拉斯算子能使噪声成分得到加强,对噪声更敏感。

4

(a) (b) 图(D)Laplace算子模板

5 Marr-Hildreth(马尔)边缘检测算子

实际应用中,由于噪声的影响,对噪声敏感的边缘检测点检测算法(如拉普拉斯算子法)可能会把噪声当边缘点检测出来,而真正的边缘点会被噪声淹没而未检测出。为此Marr和Hildreth提出了马尔算子,因为是基于高斯算子和拉普拉斯算子的,所以也称高斯-拉普拉斯(Laplacian of Gaussian,LoG)边缘检测算子,简称LoG算子。该方法是先采用高斯算子对原图像进行平滑又降低了噪声,孤立的噪声点和较小的结构组织将被滤除由于平滑会导致边缘的延展,因此在边缘检测时仅考虑那些具有局部最大值的点为边缘点,这一点可以用拉普拉斯算子将边缘点转换成零交叉点,然后通过零交叉点的检测来实现边缘检测。所谓零交叉点就是:如果一个像素处的值小于一0,而此像素8-连通的各个像素都是大于0 (0是一个正数),那么这个像素就是零交叉点。这样还能克服拉普拉斯算子对噪声敏感的缺点,减少了噪声的影响。二维高斯函数为

x2y2

) (10) h(x,y)exp(

22

则连续函数f(x,y)的LoG边缘检测算子定义为

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

2

h(x,y)*f(x,y)

H(x,y)*f(x,y) (11)

2r2r2H(x,y)h(x,y)exp(2) (12)

42

2

其中rxy,是标准差。算子H(x,y)是一个轴对称函数,其横截面如图(E)所示。由于它相当的平滑,能减少噪声的影响,所以当边缘模糊或噪声较大时,利用H(x,y)检测过零点能提供较可靠的边缘位置。

5

222

本文来源:http://www.myl5520.com/fanwendaquan/101434.html

推荐内容