拉普拉斯算子、prewitt算子、sobel算子对图像锐化处理

拉普拉斯算子、prewitt算子、sobel算子对图像锐化处理
拉普拉斯算子、prewitt算子、sobel算子对图像锐化处理

《数字图像处理作业》

图像的锐化处理

---拉普拉斯算子、prewitt算子、sobel算子性能研究对比

完成日期:2012年10月6日

一、算法介绍

1.1图像锐化的概念

在图像增强过程中,通常利用各类图像平滑算法消除噪声,图像的常见噪声主要有加性噪声、乘性噪声和量化噪声等。一般来说,图像的能量主要集中在其低频部分,噪声所在的频段主要在高频段,同时图像边缘信息也主要集中在其高频部分。这将导致原始图像在平滑处理之后,图像边缘和图像轮廓模糊的情况出现。

为了减少这类不利效果的影响,就需要利用图像锐化技术,使图像的边缘变得清晰。图像锐化处理的目的是为了使图像的边缘、轮廓线以及图像的细节变得清晰,经过平滑的图像变得模糊的根本原因是因为图像受到了平均或积分运算,因此可以对其进行逆运算(如微分运算)就可以使图像变得清晰。从频率域来考虑,图像模糊的实质是因为其高频分量被衰减,因此可以用高通滤波器来使图像清晰。但要注意能够进行锐化处理的图像必须有较高的性噪比,否则锐化后图像性噪比反而更低,从而使得噪声增加的比信号还要多,因此一般是先去除或减轻噪声后再进行锐化处理。

考察正弦函数,它的微分。微分后频率不变,幅度上升2πa 倍。空间频率愈高,幅度增加就愈大。这表明微分是可以加强高频成分的,从而使图像轮廓变清晰。最常用的微分方法是梯度法和拉普拉斯算子。但本文主要探究几种边缘检测算子,Laplace、Prewitt、Sobel算子以下具体介绍。

图像边缘检测:边缘检测是检测图像局部显著变化的最基本运算,梯度是函数变化的一种度量。图像灰度值的显著变化可用梯度的离散逼近函数来检测,大幅度地减少了数据量,并且剔除了可以认为不相关的信息,保留了图像重要的结构属性。边缘检测可分为两大类基于查找一类和基于零穿越的一类。基于查找的方法通过寻找图像一阶导数中的最大和最小值来检测边界,通常是将边界定位在梯度最大的方向。基于零穿越的方法通过寻找图像二阶导数零穿越来寻找边界,通常是Laplacian过零点或者非线性差分表示的过零点。

1.2拉普拉斯算子

拉式算子是一个刻画图像灰度的二阶商算子,它是点、线、边界提取算子,亦称为边界提取算子。通常图像和对他实施拉式算子后的结果组合后产生一个锐化图像。拉式算子用来改善因扩散效应的模糊特别有效,因为它符合降制模型。扩散效应是成像过程中经常发生的现象。

拉普拉斯算子也是最简单的各向同性微分算子,具有旋转不变性。一个二维图像函数的拉普拉斯变换是各向同性的二阶导数,定义

(1)

为了更适合于数字图像处理,将拉式算子表示为离散形式:

(2)

另外,拉普拉斯算子还可以表示成模板的形式,如下图(1)所示,为离散拉普拉斯算子的模板,图(2)表示其扩展模板。

图(1) 图(2)

从模板形式容易看出,如果在图像中一个较暗的区域中出现了一个亮点,那么用拉普拉斯运算就会使这个亮点变得更亮。因为图像中的边缘就是那些灰度发生跳变的区域,所以拉普拉斯锐化模板在边缘检测中很有用。一般增强技术对于陡峭的边缘和缓慢变化的边缘很难确定其边缘线的位置。但此算子却可用二次微分正峰和负峰之间的过零点来确定,对孤立点或端点更为敏感,因此特别适用于以突出图像中的孤立点、孤立线或线端点为目的的场合。同梯度算子一样,拉普拉斯算子也会增强图像中的噪声,有时用拉普拉斯算子进行边缘检测时,可将图像先进行平滑处理。 1.3 Prewitt 算子(平均差分法)

因为平均能减少或消除噪声,Prewitt 梯度算子法就是先求平均,再求差分来求梯度。

水平和垂直梯度模板分别为:

利用检测模板可求得水平和垂直方向的梯度,再通过梯度合成和边缘点判定,就可得到平均差分法的检测结果。

1.4 Sobel 算子 (加权平均差分法)

Sobel 算子是典型的基于一阶导数的边缘检测算子,由于该算子中引入了类似局部平均的运算,因此对噪声具有平滑作用,能很好的消除噪声的影响。Sobel 算子包含两组3x3的矩阵,分别为横向及纵向模板,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。实际使用中,常用如下两个模板来检测图像边缘。

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

图3 Sobel 算子

单独使用Sobel 算子做边缘检测,边缘定位精度不高,有时还可能对非边缘像素的响应大于某些边缘处的响应或者响应差别不是很大,造成漏检或误检,但是它对噪声具有较好的鲁棒性。

1 2 1 0 0 0 -1

-2

-1

Prewitt算子和Sobel算子提取边缘的结果差不多。在提取边缘的同时它对噪声具有平滑作用,能够抑制一定的噪声。由于Prewitt边缘检测算子是通过八个方向模板对图像进行卷积运算,因此运算量比较大。

二、程序代码

2.1拉普拉斯算子程序代码:

(1)I=imread('tire.tif');

subplot(1,2,1);

imshow(I);

title('原始图像');

I=double(I);

H=[0 -1 0

-1 5 -1

0 -1 0];

J=conv2(I,H,'same');

subplot(1,2,2);

imshow(J,[]);

title('拉普拉斯算子增强图像');

(2) I=imread('D:\照片\图片11.jpg');

[H,W]=size(I);

M=double(I);

J=M;

for i=2:H-1

for j=2:W-1

J(i,j)=4*M(i,j)-[M(i+1,j)+M(i-1,j)+M(i,j+1)+M(i,j-1)];

end;

end;

subplot(1,2,1);imshow(I);title('原图');

subplot(1,2,2);imshow(uint8(J));title('锐化处理后的图');

2.2 Prewitt算子(平均差分法)

[I,map]=imread('D:\图片\摄影作品\2.jpg ');

[H,W]=size(I);

M=double(I);

J=M;

for i=2:H-1

for j=2:W-1

J(i,j)=abs(M(i-1,j+1)-M(i-1,j-1)+M(i,j+1)-M(i,j-1)+M(i+1,j+1)-M(i+1,j-1))+abs(M (i+1,j-1)-M(i-1,j-1)+M(i+1,j)-M(i-1,j)+M(i+1,j+1)-M(i-1,j+1));

end;

end;

subplot(1,2,1);imshow(I);title('原图');

subplot(1,2,2);imshow(uint8(J));title('Prewitt处理后');

2.3 Sobel算子

[I,map]=imread('D:\图片\摄影作品\伤感.jpg ');

[H,W]=size(I);

M=double(I);

J=M;

for i=2:H-1

for j=2:W-1

J(i,j)=abs(M(i-1,j+1)-M(i-1,j-1)+2*M(i,j+1)-2*M(i,j-1)+M(i+1,j+1)-M(i+1,j-1))+a bs(M(i-1,j-1)-M(i+1,j-1)+2*M(i-1,j)-2*M(i+1,j)+M(i-1,j+1)-M(i+1,j+1));

end;

end;

subplot(1,2,1);imshow(I);title('原图');

subplot(1,2,2);imshow(uint8(J));title('Sobel 处理后');

三、图片处理结果

1、拉普拉斯算子处理:

(1)车轮图片拉式处理结果:

(2)本人照片拉氏处理:

2. Prewitt算子锐化结果:

3.Sobel算子锐化结果:

三、性能研究与结论

laplace算子是与方向无光的各向同性边缘检测算子,若只关心边缘点的位置而不顾

其周围的实际灰度差时,一般选择该算子进行检测.特点:各向同性,线性和位移是不变的,对线性和孤立点检测效果好,但边缘方向信息丢失,常产生双像素的边缘,对噪声有双倍的加强作用。

prewitt算子为在检测边缘的同时减少噪声的影响,从加大边缘检测算子的模板大小出发,由2*2扩大到3*3来计算差分算子,采用prewitt算子能检测到边缘点,还可以抑制噪声。

sobel算子在prewitt算子基础上能检测边缘点,且能进一步抑制噪声的影响,但检测的边缘较宽。梯度算子和laplacian算子都对噪声敏感,因此一般用它们检测边缘前要先对图像进行平滑。

四、个人总结

通过本次作业的学习与完成实践过程,我了解到了之前听老师课堂上讲的一阶二阶微分算子,但是具体包括哪些也不是很清楚,在完成本次作业过程中了解到一阶微分算子也就是梯度算子,它包括本次论文我用到的prewitt算子和sobel算子。二阶微分算子呢,也就是拉普拉斯算子,通过么MATLAB软件的读图像以及对图像的处理,主要利用matlab程序的编写及验证看最终图像呈现的效果,进而对比得出它们各自性能的研究对比。

经过拉普拉斯算子的处理,图像模糊近乎成虚像的形式,边缘信息大量丢失;Prewitt 算子将图像边缘拉大,近乎失真;sobel算子处理后也只是轮廓,相比Prewitt算子图像边缘稍微加宽。

参考文献:

[1] MATLAB7.X图像处理M.何兴华,周媛媛.人民邮电出版社:北京,2006,72-73.

[2] 数字图像处理M.阮秋琦.电子工业出版社:北京,2005,12-14.

[3] MATLAB函数速查手册M.邓微.人民邮电出版社:北京,2008,23-24.

canny sobel算子

基于sobel 、canny 的边缘检测实现 一.实验原理 Sobel 的原理: 索贝尔算子(Sobel operator )是图像处理中的算子之一,主要用作边缘检测。在技术上,它是一离散性差分算子,用来运算图像亮度函数的梯度之近似值。在图像的任何一点使用此算子,将会产生对应的梯度矢量或是其法矢量. 该算子包含两组3x3的矩阵,分别为横向及纵向,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。如果以A 代表原始图像,Gx 及Gy 分别代表经横向及纵向边缘检测的图像,其公式如下: 101202*101x G A -+?? ?=-+ ? ?-+?? 121000*121y G A +++?? ?= ? ?---?? 图像的每一个像素的横向及纵向梯度近似值可用以下的公式结合,来计算梯度的大小。 在以上例子中,如果以上的角度Θ等于零,即代表图像该处拥有纵向边缘,左方较右方暗。 在边沿检测中,常用的一种模板是Sobel 算子。Sobel 算子有两个,一个是检测水平边沿的 ;另一个是检测垂直平边沿的 。与 和 相比,Sobel 算子对于象素的位置的影响做了加权,因此效果更好。 Sobel 算子另一种形式是各向同性Sobel(Isotropic Sobel)算子,也有两个,一个是检测水平边沿的 ,另一个是检测垂直平边沿的 。各向同性Sobel 算子和普通Sobel 算子相比,它的位置加权系数更为准确,在检测不同方向的边沿时梯度的幅度一致。由于建筑物图像的特殊性,我们可以发现,处理该类型图像轮廓时,并不需要对梯度方向进行运算,所以程序并没有给出各向同性Sobel 算子的处理方法。 由于Sobel 算子是滤波算子的形式,用于提取边缘,可以利用快速卷积函数, 简单有效,因此应用广泛。美中不足的是,Sobel 算子并没有将图像的主体与背景严格地区分开来,换言之就是Sobel 算子没有基于图像灰度进行处理,由于Sobel 算子没有严格地模拟人的视觉生理特征,所以提取的图像轮廓有时并不能令人满意。 在观测一幅图像的时候,我们往往首先注意的是图像与背景不同的部分,正是这个部分将主体突出显示,基于该理论,我们给出了下面阈值化轮廓提取算法,该算法已在数学上证明当像素点满足正态分布时所求解是最优的。 Canny 的原理:

图像的平滑处理与锐化处理

数字图像处理作业题目:图像的平滑处理与锐化处理 :张一凡 学号:4 专业:计算机应用技术

1.1理论背景 现实中的图像由于种种原因都是带噪声的,噪声恶化了图像质量,使图像模糊,甚至淹没和改变特征,给图像分析和识别带来了困难。一般数字图像系统中的常见噪声主要有:高斯噪声、椒盐噪声等。 图像去噪算法根据不通的处理域,可以分为空间域和频域两种处理方法。空间域处理是在图像本身存在的二维空间里对其进行处理。而频域算法是用一组正交函数系来逼近原始信号函数,获得相应的系数,将对原始信号的分析转动了系数空间域。 在图像的识别中常需要突出边缘和轮廓信息,图像锐化就是增强图像的边缘和轮廓。 1.2介绍算法 图像平滑算法:线性滤波(邻域平均法) 对一些图像进行线性滤波可以去除图像中某些类型的噪声。领域平均法就是一种非常适合去除通过扫描得到的图像中的噪声颗粒的线性滤波。 领域平均法是空间域平滑噪声技术。对于给定的图像()j i f,中的每个像素点()n m,,取其领域S。设S含有M个像素,取其平均值作为处理后所得图像像素点()n m,处的灰度。用一像素领域内各像素灰度平均值来代替该像素原来的灰度,即领域平均技术。

领域S 的形状和大小根据图像特点确定。一般取的形状是正方形、矩形及十字形等,S 的形状和大小可以在全图处理过程中保持不变,也可以根据图像的局部统计特性而变化,点(m,n)一般位于S 的中心。如S 为3×3领域,点(m,n)位于S 中心,则 ()()∑∑-=-=++=1111 ,91,i j j n i m f n m f 假设噪声n 是加性噪声,在空间各点互不相关,且期望为0,方差为2σ,图像g 是未受污染的图像,含有噪声图像f 经过加权平均后为 ()()()()∑∑∑+==j i n M j i g M j i f M n m f ,1 ,1 ,1 , 由上式可知,经过平均后,噪声的均值不变,方差221σσM = ,即方差变小,说明噪声强度减弱了,抑制了噪声。 图像锐化算法:拉普拉斯算子 拉普拉斯算子是最简单的各向同性微分算子,具有旋转不变性,比较适用于改善因为光线的漫反射造成的图像模糊。其原理是,在摄像记录图像的过程中,光点将光漫反射到其周围区域,这个过程满足扩散方程: f kV t f 2=?? 经过推导,可以发现当图像的模糊是由光的漫反射造成时,不模糊图像等于模糊图像减去它的拉普拉斯变换的常数倍。另外,人们还发现,即使模糊不是由于光的漫反射造成的,对图像进行拉普拉斯变换也可以使图像更清晰。

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

几种常用边缘检测算法的比较摘要:边缘是图像最基本的特征,边缘检测是图像分析与识别的重要环节。基于微分算子的边缘检测是目前较为常用的边缘检测方法。通过对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 函数,那么就

sobel算子

Sobel算子改进算法 通过以上对经典边缘检测算法的分析可知,Sobel算法的优点是计算简单,速度快。但是由于只采用了2个方向的模板,只能检测水平和垂直方向的边缘,因此这种算法对于纹理较为复杂的图像,其边缘检测效果就不是很理想。该算法认为:凡灰度新值大于或等于阈值的像素点时都是边缘点。这种判断欠合理,会造成边缘点的误判,因为许多噪声点的灰度值也很大。由于图像的边缘有许多方向,除了水平方向和垂直方向外,还有其他的方向,下面将对Sobel算子进行改进,即将算子模板扩展到8个模板,如图3.1所示。 图3.1 8个方向模板 进过8个方向模板的计算,对某一幅图像进行逐点计算,并且去最大值为像素点的新灰度值,通过阈值的设定,判断边缘点。最大值对应的模板所表示的方向为该像素点的边缘方向。 Sobel改进算法的思想与步骤。 针对经典Sobel算子对边缘具有很强的方向性特点,设计了一种基于Sobel算子上改进的算法,其主要思想是先对图像进行全局阈值的分割处理,因为分割后的图像是二值图像,此时进行边缘提取,这就可以各个方向的边缘都可以检测到。但也可能会丢失原本直接用算子检测到的边缘。Sobel 算子的优点是方法简单、处理速度快, 并且所得的边缘光滑, 其缺点是 边缘较粗, 得到的边缘象素往往是分小段连续, 由于处理时需作二值化处理, 故得到的边缘与阈值的选取有很大的关系, 并且边缘图中梯度幅值较小的边缘也丢失了。为克服 这个缺陷,对 S( i, j)引入一个衰减因子 D, 用它去除计算的结果, 即 : (,) S i j=(3.1)

因此,用处理后的所得到图像与Sobel 算子直接对原始图像进行边缘检测的图像相加,这一步显得尤为重要。最后分别对数字图像和红外图像进行MATLAB 仿真,从仿真的结果可以看出,此算法具有较好的精度。 三次样条插值 Sobel 算子检测出像素级边缘后,为了得到亚像素级的边缘,要对灰度边缘图进行内插处理。插值算法有很多种,例如最近邻插值、双线性插值、三次样条插值等等。最近邻插值和双线性插值不如三次样条插值精度高。为了得到精度高的亚像素级边缘,本文采用三次样条插值法对灰度边缘图进行插值处理。下面先介绍三次样条插值函数的定义。 若函数S(x)满足:S(x)在每个子区间[xi-1, xi](i =1,2, …n)上是不高于三次的多项式,其中(a=x 0

数字图像处理-图像平滑和锐化变换处理

图像平滑和锐化变换处理 一、实验内容和要求 1、灰度变换:灰度拉伸、直方图均衡、伽马校正、log变换等。 2、空域平滑:box、gauss模板卷积。 3、频域平滑:低通滤波器平滑。 4、空域锐化:锐化模板锐化。 5、频域锐化:高通滤波器锐化。 二、实验软硬件环境 PC机一台、MATLAB软件 三实验编程及调试 1、灰度变换:灰度拉伸、直方图均衡、伽马校正、log变换等。 ①灰度拉伸程序如下: I=imread(''); J=imadjust(I,[,],[]); subplot(2,2,1),imshow(I); subplot(2,2,2),imshow(J); subplot(2,2,3),imhist(I); subplot(2,2,4),imhist(J); ②直方图均衡程序如下: I=imread(''); J=histeq(I); Subplot(2,2,1); Imshow(I); Title('原图像'); Subplot(2,2,2);

Imshow(J); Title('直方图均衡化后的图像') ; Subplot(2,2,3) ; Imhist(I,64); Title('原图像直方图') ; Subplot(2,2,4); Imhist(J,64) ; Title('均衡变换后的直方图') ; ③伽马校正程序如下: A=imread(''); x=0:255; a=80,b=,c=; B=b.^(c.*(double(A)-a))-1; y=b.^(c.*(x-a))-1; subplot(3,2,1); imshow(A); subplot(3,2,2); imhist(A); subplot(3,2,3); imshow(B); subplot(3,2,4); imhist(B); subplot(3,2,6); plot(x,y); ④log变换程序如下: Image=imread('');

利用laplacian算子对图像进行锐化操作

利用laplacian算子对图像进行锐化操作 人机交互实验报告 班级:计0905 姓名:车雨欣 学号:20091221018

利用laplacian算子对图像进行锐化操作Laplacian算子定义 Laplacian 算子是n维欧几里德空间中的一个二阶微分算子,定义为梯度()的散度()。因此如果f是二阶可微的实函数,则f的拉普拉斯算子定义为: (1) f的拉普拉斯算子也是笛卡儿坐标系xi中的所有非混合二阶偏导数: (2) 作为一个二阶微分算子,拉普拉斯算子把C函数映射到C函数,对于k ≥2。表达式(1)(或(2))定义了一个算子Δ: C(R) →C(R),或更一般地,定义了一个算子Δ : C(Ω) → C(Ω),对于任何开集Ω。 运算模板 函数的拉普拉斯算子也是该函数的黑塞矩阵的迹,可以证明,它具有各向同性,即与坐标轴方向无关,坐标轴旋转后梯度结果不变。如果邻域系统是4 邻域,Laplacian 算子的模板为: 0 1 0 1 -4 1 0 1 0

如果邻域系统是8 邻域,Laplacian 算子的模板为: 1 1 1 1 -8 1 1 1 1 前面提过,Laplacian 算子对噪声比较敏感,所以图像一般先经过平滑处理,因为平滑处理也是用模板进行的,所以,通常的分割算法都是把Laplacian 算子和平滑算子结合起来生成一个新的模板。图像 图像最基本的特征是边缘。所谓边缘是指周围像素有阶跃变化或屋顶状变化的那些象素的集合。他存在于目标与背景、目标与目标、区域与区域、基元与基元之间,因此他是图像分割所依赖的最重要的特征,他两边象素的灰度值有显著不同;其二是屋顶装边缘,他位于灰度值从增加到减少的变化转折点。 图像边缘检测 一种定位二维或三维图像(特别是医学图像)中的对象的边缘的系统。通过输入端(310)接收表示该图像的各元素值的数据元素集。该数据集被存储在存储装置(320)中。处理器(340)确定该图像中的对象的边缘。该处理器计算所述数据元素的至少一阶和/或二阶导数,并且计算该图像的等照度线曲率,所述曲率由κ

sobel算子边缘检测

源程序如下:#include #include #include #include #include #include #include #include #define ff(x,y) pBmpBuf0[256*(y)+(x)] #define gg(x,y) pBmpBuf9[256*(y)+(x)] //--------------------------------------------------------------------------------------- unsigned char *pBmpBuf;//读入图像数据的指针 int bmpWidth;//图像的宽 int bmpHeight;//图像的高 RGBQUAD *pColorTable;//颜色表指针 int biBitCount;//图像类型,每像素位数 //------------------------------------------------------------------------------------------- //读图像的位图数据、宽、高、颜色表及每像素位数等数据进内存,存放在相应的全局变量中 bool readBmp(char *bmpName) { FILE *fp=fopen(bmpName,"rb");//二进制读方式打开指定的图像文件 if(fp==0) return 0; //跳过位图文件头结构BITMAPFILEHEADER fseek(fp, sizeof(BITMAPFILEHEADER),0); //定义位图信息头结构变量,读取位图信息头进内存,存放在变量head中 BITMAPINFOHEADER head; fread(&head, sizeof(BITMAPINFOHEADER), 1,fp); //获取图像宽、高、每像素所占位数等信息 bmpWidth = head.biWidth; bmpHeight = head.biHeight; biBitCount = head.biBitCount;//定义变量,计算图像每行像素所占的字节数(必须是4的倍数)

实验报告四图像锐化处理

姓名:学号:班级: 实验日期:实验成绩: 一.实验目的 (1)学习如何用锐化处理技术来加强图像的目标边界和图像细节,对图像进行梯度算子、拉普拉斯算子、Sobel算子设计,使图 像的某些特征(如边缘、轮廓等)得以进一步的增强及突出。(2)分析模板大小对空域锐化滤波的影响,比较不同滤波器的处理效果,分析其优缺点。 二.实验原理 锐化处理的主要目的是突出灰度的过度部分,在空间域中,均值滤波类似于积分,那锐化滤波类似于微分,微分算子的响应程度与图像在用算子操作的这一点突变程度成正比,图像积分模糊了图像,同时起到了消除噪声的作用;图像微分增强边缘和其它突变(如噪声),而削弱灰度变换缓慢的区域,laplacian算子类似于二阶微分,强调的是图像灰度级剧烈变换的部分,而sobel算子类似于一阶微分,强调的是图像灰度级缓慢变化的部分。 三.实验内容及结果

(1)选择一副图像,分别使用拉普拉斯算子、sobel算子对图像进行锐化滤波,并观察滤波效果。 图 1 laplacian及sobel算子处理图像 (2)选择一副图像,构造一个中心系数为-24的5×5的类似于拉普拉斯模板对图像进行锐化,与上述拉普拉斯算子的结果相比,是否能得到更加清晰的结果? 图 2 不同大小laplacian模板处理原图及二值图 四.结果分析

(1)观察图一,可以发现对原图进行sobel算子运算后,原图阶梯的边缘细节被突显出来了,而每个阶梯灰度级保持不变的背景则没了,全变黑了,而对原图进行laplacian算子运算后,边缘部分则只剩下些杂乱无章的点了,基本是在sobel算子运算过后筛选出来的缓慢突变边缘上的一些突变更快的点。如果把sobel算子比作是一阶微分就不难理解它是对原图的缓慢边缘变化部分,而把laplacian算子比作是二阶微分的话,就是原图的剧烈突变部分,由于原图像的阶梯边缘在灰度级上是缓慢过度的,所以使用sobel算子边缘的突出效果更明显,而laplacian算子无论模板大小为多大,都不能清晰的显示出边缘。至于背景为什么会变黑是因为算子模板中有负因子,当计算的出来的值为负数时,自动标定其为0,也就是黑色。 (2)观察图二,可以发现对原图使用无论多大的laplacian模板,效果都很差,原因就是上述提到的原图像的边缘灰度级是缓慢变化的,对原图灰度级二值化处理,由于灰度值大小只有0和1两个值,阶梯边缘两边的值分别为0和1,这样边缘突变就成了一个单位的剧烈突变,所以3*3的laplacian算子效果就和上述的sobel算子效果相似,而当增加laplacian算子的大小到5*5时,边缘检测效果更加明显。正印证了微分算子的响应程度与图像在用算子操作的这一点突变程度成正比这一原理。

图像锐化的目的和意义

图像锐化的目的和意义图像模糊的主要原因是图像中的高频成分低于低频成分,它对图像质量的影响体现在两个不同均匀灰度区域的边界部分。 当成像参数正确,图像的亮度变化传递正常时,在图像中对象边缘与背景之间的理想边缘面应该时阶梯形的,这样的图像看上去边缘清晰,反之,则会边缘模糊,其特征时对象与背景间的灰度改变有一个过渡带,这将损害图像的视觉效果。要消除图像中不应又的模糊边缘,需要增强图像中的高频成分,使边缘锐化。 图像锐化是一种使图像原有的信息变换到有利于人们观看的质量,其目的是为了改善图像的视觉效果,消除图像质量劣化的原因(模糊),使图像中应又的对象边缘变得轮廓分明。 图像的锐化,需要利用积分的反运算(微分),因为微分运算是求信号的变化率,又加强图像中高频分量的作用,从而要锐化图像需要采用各向同性的,具有旋转不变特征的线性微分算子。 图像锐化是一种补偿轮廓、突出边缘信息以使图像更为清晰的处理方法. 锐化的目标实质上是要增强原始图像的高频成分 .常规的锐化算法对整幅图像进行高频增强 , 结果呈现明显噪声 .为此, 在对锐化原理进行深入研究的基础上 ,提出了先用边缘检测算法检出边缘 , 然后根据检出的边缘对图像进行高频增强的方法 . 实验结果表明 , 该方法有效地解决了图像锐化后的噪声问题图像的锐化可以在空间域中进行,也可以在频率域中实现。 一. 图像信号的锐化过程 1. 空间域中锐化图像的目的在空间域中进行图像的锐化也成为空间滤波处 理,目的又 (1)一是提取图像中用于认识和识别图像特征的参量,为图像识别准备数据 (2)消除噪声。图像数字化时产生的噪声主要是造成对图像内容的干扰,这用图像的平滑处理。图像数字化时在信号高频区域产生的 误差以及设备自身噪声对图像的高频(轮廓特征)干扰同样也是一 种噪声,可以用空间滤波的方法去除。 (3)采用空间滤波的方法可以更鲜明地保持图像的边缘特征,这也是空间滤波的主要目的,即锐化图像。处理效果 锐化的目的在于使图像中对象轮廓上的像素灰度大的更大,小的更小,但

图像处理实验报告-图像锐化

一、实验目的: ①掌握图像锐化的概念; ②掌握Prewitt 算子对图像进行锐化的原理、过程; ③熟悉Matlab 编程。 二、实验内容: ①利用Prewitt 算子对图像进行锐化处理; ②掌握Maltab 中和图像锐化相关的函数。 三、实验原理: ①利用Prewitt 算子对图像进行锐化处理; ②掌握Maltab 中和图像锐化相关的函数。 三、实验原理: 图像锐化处理是改善图像视觉效果的手段,用来对图像的轮廓或边缘进行增强,减弱或消除低分频率分量而不影响高频分量。图像锐化处理的主要技术体现在空域和频域的高通滤波,而空域高通滤波主要用模版卷积来实现。 (一)梯度算子法 在图像处理中,一阶导数通过梯度来实现,因此利用一阶导数检测边缘点的方法就称为梯度算子法。梯度值正比于像素之差。对于一幅图像中突出的边缘区,其梯度值较大;在平滑区域梯度值小;对于灰度级为常数的区域,梯度为零。 下面给出的平滑梯度算子法具有噪声抑制作用。 1、Prewitt 梯度算子法(平均差分法) 因为平均能减少或消除噪声,Prewitt 梯度算子法就是先求平均,再求差分来求梯度。水平和垂直梯度模板分别为: 利用检测模板可求得水平和垂直方向的梯度,再通过梯度合成和边缘点判定,就可得到平均差分法的检测结果。 四、实验步骤: I=imread('Miss.bmp'); figure; imshow(I); title('原始图像'); II=eye(258,258); for i=2:257 for j=2:257 ??????????---=?101101101x d ??????????---=?111000111y d

基于Sobel算子的数字图像边缘检测

基于S o b e l算子的数字图像边缘检测 集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988)

信号处理综合 设计报告 综合设计名称:基于Sobel算子的数字图像边缘检测学员:学号: 培养类型:技术类年级: 2013级专业:电子工程所属学院: 指导教员:职称:教授实验室: 305-507 实验日期:-2016.9.2

一、综合设计目的 (1)掌握数字信号处理的基本概念、基本理论和基本方法; (2)了解边缘检测的算法和用途,学习利用 Sobel 算子进行边缘检测的程序设计方法; (3)完成图像边缘处理系统的设计和实现,分析处理性能; (4)学会TMS320VC5509A DSP的程序设计方法。 二、综合设计要求 (1)在Matlab上独立编程实现通过Sobel算子的边缘检测; (2)读懂DSP-CCS平台例程,自选图像修改例程实现边缘检测,对比Matlab仿真和DSP-CCS平台处理的结果。 (3)完成实验思考题 三、详细设计过程 1.设计原理分析; Sobel边缘检测算子: 图像中的每个点都用这连个核做卷积,一个核对通常的垂直边缘相应最大,另一个对水平边缘相应最大。两个卷积的最大值作为该点的输出位(下文我们统称为梯度)。 Prewitt边缘检测算子: 以上两个卷积核形成了Prewitt算子。使用方法和Sobel算子一致,区别是系数不同。 2.设计方案和过程。 总体方案:

(1)选择图像灰度处理 这是程序运行的预处理,需要注意的Matlab仿真时,图像选取限制较小,在DSP-CCS平台处理时,注意图像选择要满足例程的空间要 求,一般选择80*80尺寸图像。 (2)卷积计算得出梯度 把图像与Sobel算子的两个模板分别进行卷积,取卷积后较大值为 该点的梯度。 上图显示了在只考虑水平边缘或垂直边缘的情况下的检测效果与实际效果的对比。 (3)二值处理计算阈值 把计算出的梯度归一化,然后带入Matlab中的graythresh函数,采用最大类间方差法获得阈值。 (4)高于阈值设为1,低于阈值设为0。把二值图像显示出来即为边缘检测的最终结果。 3.改进与创新 (1)八方向Sobel算子 在原有中两个模板的基础上,又增加六个方向的模板,即45°,135°,180°,225°,270°,315°。这样可以更加有效地检测图像多个方向边缘,使边缘信息更加完整。 (2)抗噪性能分析 通过在原图像中加入不同信噪比的高斯白噪声,观察边缘检测图像的变化,分析差别。

图像锐化处理

课 程 设 计 报 告 学 院: 自动化学院 专业名称: 信息工程 学生姓名: 赵建涛 指导教师: 赵春晖 时 间: 2011年9月

课程设计任务书 一、设计内容 对图像采用微分运算的方法进行锐化处理。 要求:编写Matlab 程序对图像进行处理。图像必须存于指定位置,处理后的图像也必须存于指定位置。该程序能运行,可处理不同的图像。图像处理算法自己制定,不得使用现成的Matlab 函数。拉普拉斯算子如下: -4-4-4 -4-4-4-4-4-41111111 111 111111111111111111 111111110 二、主要技术指标 1、熟悉图像锐化处理基本原理; 2、对彩色图像进行图像锐化处理; 3、将该模版与其他模版的图像分析效果进行比较; 4、阅读参考文献10篇以上。 三、进度要求 两周完成设计任务,写5000字以上的小论文。附参考文献并在论文上相应位置进行标注。 学 生 赵建涛 指导教师 赵春晖

基于微分运算的彩色图像锐化处理 摘要 数字图像处理(Digital Image Processing)又称为计算机图像处理,它最早出现于20世纪50年代,当时的电子计算机己经发展到一定水平,人们开始利用计算机来处理图形和图像信息。数字图像处理作为一门学科大约形成于20 世纪60年代初期。图像处理的基木目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。图像处理中,输入的是质量低的图像,输出的是改善质量后的图像,常用的图像处理方法有图像增强、复原、编码、压缩等图像处理技术在许多应用领域受到广泛重视并取得了重大的开拓性成就,属于这些领域的有航空航天、生物医学工程、工业检测、机器人视觉、公安司法、军事制导、文化艺术等,使图像处理成为一门引人注目、前景远大的新型学科。随着图像处理技术的深入发展,随着计算机技术和人工智能、思维科学研究的迅速发展,数字图像处理向更局、更深层次发展[1]。 在数字图像处理中,图像经转换或传输后,质量可能下降,难免有些模糊。另外,图像平滑在降低噪声的同时也造成目标的轮廓不清晰和线条不鲜明,使目标的图像特征提取、识别、跟踪等难以进行,这一点可以利用图像锐化来增强.图像锐化的主要目的有两个:一是增强图像边缘,使模糊的图像变得更加清晰,颜色变得鲜明突出,图像的质量有所改善,产生更适合人眼观察和识别的图像;二是希望经过锐化处理后,目标物体的边缘鲜明,以便于提取目标的边缘、对图像进行分割、目标区域识别、区域形状提取等,为进一步的图像理解与分奠定定基础。图像锐化一般有两种方法:一是微分法,二是高通滤波法。 本文着重介绍的是基于拉普拉斯的一种典型的微分算法,并选择不同的模版进行图像锐化,分析比较不同模版下锐化效果的异同。 关键字:图像锐化拉普拉斯算子模版

基于Sobel算子的图像锐化偏微分方程图像处理

基于偏微分方程的图象处理课程设计 (2014年秋季学期) 学院 专业信息与计算科学 班级信计12-1班 名称基于Sobel算子的图像锐化 组员 指导教师 2014 年月日 一、目的与要求 《图像处理》就是信息与计算科学专业一门重要的基础课程之一,它主要应用在医疗、生物等学科的图象处理方面,就是当今社会发展较为迅速的一门技术。课程设计的一个重要的环节就是实践环节,主要锻炼学生的动手能力,以及团队能力,独立思考能力等。 二、设计的方案 2、1模型的建立 Sobel算子 (加权平均差分法) Sobel算子就是典型的基于一阶导数的边缘检测算子,由于该算子中引入了类似局部平均的运算,因此对噪声具有平滑作用,能很好的消除噪声的影响。Sobel算子包含两组3x3的矩阵,分别为横向及纵向模板,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。实际使用中,常用如下两个模板来检测图像边缘。 -1 0 1

与一些传统的图像锐化方法相比,基于sobel 算子的锐化在诸多方面都得到了改进,这些也成了sobel 算子发展的有力保证,sobel 算子的具体定义如下: Dx=[f(x+1,y-1)-f(x-1,y-1)]+2[f(x+1,y)-f(x-1,y)]+[f(x+1,y+1)-f(x-1,y+1)], Dy=[f(x-1,y+1)-f(x-1,y-1)]+2[f(x,y+1)-f(x,y-1)]+[f(x+1,y+1)-f(x+1,y-1)]、 Sobel 算子也可用模版表示,如图2所示,模版中的元素表示算式中相应像素的加权因子。 101202102-????-????-?? 121000121---?????????? 图2 2、2模型的实现 由于sobel 算子就是相隔两行或两列之差分,故边缘两侧元素得到增强,同时由于sobel 算子引入了平均元素,对图像中的随机噪声有一定的平滑作用,所以离散化采用sobel 算子,同时以sobel 算子较强的锐化作用达到锐化目的 三、主要实现程序 ( MATLAB ) 命令: >> W_H1=[-1,0,1;-2,0,2;-1,0,1]; >> W_H2=[-1,-2,-1;0,0,0;1,2,1]; >> T=0、165; >> L=imread('1、bmp','bmp'); >> %L=imread('1、tif','tif'); >> [height,width]=size(L); >> L1=double(L); >> L2=zeros(height+2,width+2); >> L2(2:height+1,2:width+1)=L1; >> for i=2:height+1 for j=2:width+1 sum1=0; sum2=0; for m=-1:1 for n=-1:1

拉普拉斯算子、prewitt算子、sobel算子对图像锐化处理

《数字图像处理作业》 图像的锐化处理 ---拉普拉斯算子、prewitt算子、sobel算子性能研究对比 完成日期:2012年10月6日

一、算法介绍 1.1图像锐化的概念 在图像增强过程中,通常利用各类图像平滑算法消除噪声,图像的常见噪声主要有加性噪声、乘性噪声和量化噪声等。一般来说,图像的能量主要集中在其低频部分,噪声所在的频段主要在高频段,同时图像边缘信息也主要集中在其高频部分。这将导致原始图像在平滑处理之后,图像边缘和图像轮廓模糊的情况出现。 为了减少这类不利效果的影响,就需要利用图像锐化技术,使图像的边缘变得清晰。图像锐化处理的目的是为了使图像的边缘、轮廓线以及图像的细节变得清晰,经过平滑的图像变得模糊的根本原因是因为图像受到了平均或积分运算,因此可以对其进行逆运算(如微分运算)就可以使图像变得清晰。从频率域来考虑,图像模糊的实质是因为其高频分量被衰减,因此可以用高通滤波器来使图像清晰。但要注意能够进行锐化处理的图像必须有较高的性噪比,否则锐化后图像性噪比反而更低,从而使得噪声增加的比信号还要多,因此一般是先去除或减轻噪声后再进行锐化处理。 考察正弦函数,它的微分。微分后频率不变,幅度上升2πa 倍。空间频率愈高,幅度增加就愈大。这表明微分是可以加强高频成分的,从而使图像轮廓变清晰。最常用的微分方法是梯度法和拉普拉斯算子。但本文主要探究几种边缘检测算子,Laplace、Prewitt、Sobel算子以下具体介绍。 图像边缘检测:边缘检测是检测图像局部显著变化的最基本运算,梯度是函数变化的一种度量。图像灰度值的显著变化可用梯度的离散逼近函数来检测,大幅度地减少了数据量,并且剔除了可以认为不相关的信息,保留了图像重要的结构属性。边缘检测可分为两大类基于查找一类和基于零穿越的一类。基于查找的方法通过寻找图像一阶导数中的最大和最小值来检测边界,通常是将边界定位在梯度最大的方向。基于零穿越的方法通过寻找图像二阶导数零穿越来寻找边界,通常是Laplacian过零点或者非线性差分表示的过零点。 1.2拉普拉斯算子 拉式算子是一个刻画图像灰度的二阶商算子,它是点、线、边界提取算子,亦称为边界提取算子。通常图像和对他实施拉式算子后的结果组合后产生一个锐化图像。拉式算子用来改善因扩散效应的模糊特别有效,因为它符合降制模型。扩散效应是成像过程中经常发生的现象。 拉普拉斯算子也是最简单的各向同性微分算子,具有旋转不变性。一个二维图像函数的拉普拉斯变换是各向同性的二阶导数,定义 (1) 为了更适合于数字图像处理,将拉式算子表示为离散形式: (2)

图像锐化的方法及比较

图像的锐化 摘要:图像平滑往往使图像中的轮廓变得模糊,为了减少这类不利影响,这就需要利用图像锐化技术,使图像的边缘变的清晰。本文分析了图像锐化方法中的梯度算子法和二阶导数算子法的各自特点,其中梯度算子法主要是Roberts 梯度算子法、Prewitt 梯度算子法、Sobel 算子法;二阶导数算子法为Laplacian 算子法,并通过编程对一张实际图片进行了试验对比,结果证明Laplacian 算子法锐化效果最好。 引言 图像平滑往往使图像中的边界、轮廓变得模糊,为了减少这类不利效果的影响,这就需要利用图像锐化技术,使图像的边缘变的清晰。图像锐化处理的目的是为了使图像的边缘、轮廓线以及图像的细节变的清晰,经过平滑的图像变得模糊的根本原因是因为图像受到了平均或积分运算,因此可以对其进行逆运算(如微分运算)就可以使图像变的清晰。从频率域来考虑,图像模糊的实质是因为其高频分量被衰减,因此可以用高通滤波器来使图像清晰。图像锐化处理的主要技术体现在空域和频域的高通滤波,而空域高通滤波主要用模版卷积来实现。 1、梯度算子法 在图像处理中,一阶导数通过梯度来实现,因此利用一阶导数检测边缘点的方法就称为梯度算子法。梯度值正比于像素之差。对于一幅图像中突出的边缘区,其梯度值较大;在平滑区域梯度值小;对于灰度级为常数的区域,梯度为零。 1.1、Roberts 梯度算子法 Roberts 梯度就是采用对角方向相邻两像素之差,故也称为四点差分法。对应的水平和垂直方向的模板为: 标注 的是当前像素的位置(i,j)为当前像素的位置,其计算公式如下: ??????-=? 1001x G ??????-=?0110y G ?

sobel算子的基本理论及改进算法~

Sobel锐化算子及其改进算法 0908112 07 史清 一、锐化的基本理论 1、问题的提出 在图像增强过程中,通常利用各类图像平滑算法消除噪声,图像的常见噪声主要有加性噪声、乘性噪声和量化噪声等。一般来说,图像的能量主要集中在其低频部分,噪声所在的频段主要在高频段,同时图像边缘信息也主要集中在其高频部分。这将导致原始图像在平滑处理之后,图像边缘和图像轮廓模糊的情况出现。 2、锐化的目的 为了减少这类不利效果的影响,就需要利用图像锐化技术,使图像的边缘变得清晰。图像锐化处理的目的是为了使图像的边缘、轮廓线以及图像的细节变得清晰,经过平滑的图像变得模糊的根本原因是因为图像受到了平均或积分运算,因此可以对其进行逆运算(如微分运算)就可以使图像变得清晰。从频率域来考虑,图像模糊的实质是因为其高频分量被衰减,因此可以用高通滤波器来使图像清晰。但要注意能够进行锐化处理的图像必须有较高的性噪比,否则锐化后图像性噪比反而更低,从而使得噪声增加的比信号还要多,因此一般是先去除或减轻噪声后再进行锐化处理。 图像锐化处理的主要目的是突出图像中的细节或者增强被模糊化了的细节,一般情况下图像的锐化被用于景物边界的检测与提取,把景物的结构轮廓清晰地表现出来。 3、重点明确 图像锐化的目的是加强图像中景物的细节边缘和轮廓。 锐化的作用是使灰度反差增强。 因为边缘和轮廓都位于灰度突变的地方。所以锐化算法的实现是基于微分作用。 4、图像锐化的方法 一阶微分锐化方法;二阶锐化微分方法。 5、一阶微分锐化的基本原理

一阶微分计算公式: 离散之后的差分方程: 考虑到图像边界的拓扑结构性,根据这个原理派生出许多相关的方法。故一阶微分锐化又可分为单方向一阶微分锐化和无方向一阶微分锐化,后者又包括交叉微分锐化、Sobel 锐化、 Priwitt 锐化。 6、无方向一阶微分锐化问题的提出及设计思想 单方向的锐化处理结果对于人工设计制造的具有矩形特征物体(例如:楼房、汉字等)的边缘的提取很有效。但是,对于不规则形状(如:人物)的边缘提取,则存在信息的缺损。 为了解决上面的问题,就希望提出对任何方向上的边缘信息均敏感的锐化算法。因为这类锐化方法要求对边缘的方向没有选择,所有称为无方向的锐化算法。 二、Sobel 算子法(加权平均差分法) 对于数字图像{ f (i,j) }经典算子的定义如下: 设: 则 或 通过定义可以利用两个方向模板与图像进行邻域卷积来完成的算子的边缘检测。这两个方向模板一个检验水平边缘,一个检验垂直边缘。 算法的基本原理:适当选取阈值M ,作如下判断:若S(i,j)> M ,则(i,j)为边缘点。{ S (i,j) }为边缘图像,由于数据溢出的关系,这种边缘图像通常不直接使用,而使用的则是由边缘点与背景点构成的图像,故它为二值图像。 Sobel 算子也可用模板表示。模板中的元素表示算式中相应像素的加权因'(,)f f f x y x y ??=+??(,)[(1,)(,)][(,1)(,)] f i j f i j f i j f i j f i j ?=+-++ -

图像平滑与锐化处理

图像平滑与锐化处理 1 图像平滑处理 打开Image Interpreter/Utilities/Layer Stack对话框,如图1-1 图1-1 打开Layer Stack对话框 在Input File中打开tm_striped.img,在Layer中选择1,在Output File中输入输出文件名band1.img,单击Add按钮。忽略零值,单击OK(如图1-2所示)。 图1-2 Layer Stack对话框设置

打开Interpreter>Spatial Enhancement>Convolution对话框。如图1-3 图1-3 打开Convolution对话框 在Input File中选择band1.img。在Output File中选择输出的处理图像,命名为lowpass.img。在Kernel中选择7*7Low Pass,忽略零值。单击OK完成图像的增强处理(如图1-4所示)。 图1-4 卷积增强对话框(Convolution) 平滑后的图像去掉噪音的同时造成了图像模糊,特别是对图像的边缘和细节消弱很多。而且随着邻域范围的扩大,在去噪能力增强的同时模糊程度越严重(如图1-5)。

图1-5 处理前后的对比 为了保留图像的边缘和细节信息,可对上述算法进行改进,引入阈值T,将原有图像灰度值f(i,j),和平均值g(i,j)之差的绝对值与选定的阈值进行比较,根据比较结果决定像元(i,j)的最后灰度值G(i,j)。当差小于阈值的时候取原值;差大于阈值的时候取平均值。这里通过查询得T取4,其表达式为下: g(i,j),当| f(i,j)-g(i,j)|>4 G(i,j)= f(i,j),当| f(i,j)-g(i,j)|<=4 具体操作步骤:在图标控制面板工具栏中点击空间建模Modeler>Model Maker选项。先放置对象图形,依次连接每个对象图形,然后定义对象,最后定义函数并运行模型(如图 1-6,1-7,1-8,1-9,1-10,1-11所示)。

关于MATLAB边缘检测sobel算子

关于MATLAB边缘检测sobel算子 一、sobel介绍 索贝尔算子是图像处理中的算子之一,主要用作边缘检测。在技术上,它是一离散性差分算子,用来运算图像亮度函数的梯度之近似值。在图像的任何一点使用此算子,将会产生对应的梯度矢量或是其法矢量。 该算子包含两组3x3的矩阵,分别为横向及纵向,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。如果以代表原始图像,及分别代表经横向及纵向边缘检测的图像,其公式如下: 图像的每一个像素的横向及纵向梯度近似值可用以下的公式结合,来计算梯度的大小。 然后可用以下公式计算梯度方向。 在以上例子中,如果以上的角度等于零,即代表图像该处拥有纵向边缘,左方较右方暗。 二、程序 例1 clear all; close all; f=imread('dsy.jpg'); u=rgb2gray(f); F=double(f); U=double(u); [H,W]=size(u); uSobel=u; % ms=0; % ns=0;

for i=2:H-1 for j=2:W-1 Gx=(U(i+1,j-1)+2*U(i+1,j)+F(i+1,j+1))-(U(i-1,j-1)+2*U(i-1,j)+F(i-1,j+1)); Gy=(U(i-1,j+1)+2*U(i,j+1)+F(i+1,j+1))-(U(i-1,j-1)+2*U(i,j-1)+F(i+1,j-1)); uSobel(i,j)=sqrt(Gx^2+Gy^2); % ms=ms+uSobel(i,j); % ns=ns+(uSobel(i,j)-ms)^2; end end % ms=ms/(H*W); % ns=ns/(H*W); subplot(1,2,1);imshow(f);title('原图'); subplot(1,2,2);imshow(im2uint8(uSobel));title('Sobel处理后'); % S=[ms ns]; 程序运行结果: 例2 hg=zeros(3,3); %设定高斯平滑滤波模板的大小为3*3 delta=0.5; for x=1:1:3 for y=1:1:3 u=x-2; v=y-2; hg(x,y)=exp(-(u^2+v^2)/(2*pi*delta^2)); end

相关文档
最新文档