matlab 图像处理_第1页
matlab 图像处理_第2页
matlab 图像处理_第3页
matlab 图像处理_第4页
matlab 图像处理_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、主主界面窗口中有界面窗口中有4个子窗口层叠平铺在一起个子窗口层叠平铺在一起 。Command Window(命令窗口);(命令窗口);Workspace(工作空间);(工作空间);Command History(历史命令记录);(历史命令记录);Current Directory(当前目录);(当前目录);1. 运行环境运行环境单击各个窗口中右上单击各个窗口中右上角的箭头按钮后,可角的箭头按钮后,可以单独提取此窗口。以单独提取此窗口。工作空间窗口工作空间窗口命令窗口命令窗口历史命令历史命令当前目录窗口当前目录窗口 2. MATLAB 2. MATLAB 图像图像读写读写1 1 图像文件图像文件

2、的读写和显示的读写和显示 在在MATLABMATLAB中,图像文件的读取、写入及显示中,图像文件的读取、写入及显示等等 都都可可通过调用函数来实现。常见的函数有:通过调用函数来实现。常见的函数有:表表1 图像文件图像文件的读写与显示函数的读写与显示函数表表1(续)图像文件的读写与显示函数(续)图像文件的读写与显示函数n1)图像文件)图像文件的读取的读取使用函数使用函数imread( )可以完成图像文件的读取操作,可以完成图像文件的读取操作,其语法格式有以下几种:其语法格式有以下几种:例例1:读取:读取图像图像 X=imread(cameraman.tif)例例2:当文件不在:当文件不在MATL

3、AB路径下时:路径下时: f=imread(D:myimageschestxray.jpg);注意:文件名必须在当前目录或注意:文件名必须在当前目录或MATLABMATLAB目录中,否则应目录中,否则应给给 出出完整路径。完整路径。2)图像文件)图像文件的写入的写入使用函数使用函数imwrite( )可以完成图像文件的写入操作,可以完成图像文件的写入操作,其语法格式有以下几种:其语法格式有以下几种: 例:实现图像的写入即图像保存:例:实现图像的写入即图像保存: imwrite(X,man.jpg, jpg);使用使用函数函数image( )实现显示实现显示图像图像函数函数image( )为自动

4、设置图像窗口、坐标轴和为自动设置图像窗口、坐标轴和 图像属性。即图像属性。即MATLAB自动对图像进行缩放自动对图像进行缩放 以适合显示区域。以适合显示区域。1)可用)可用truesize函数来设定图像像素到屏幕像点的映射关函数来设定图像像素到屏幕像点的映射关系来更改图像显示大小。系来更改图像显示大小。2)有时可能需要显示的纵横比和图形数据矩阵的纵横比相)有时可能需要显示的纵横比和图形数据矩阵的纵横比相匹配,这时可以使用匹配,这时可以使用axis image命令。命令。3)图像)图像的的显示显示image( )image( )函数的语法格式:函数的语法格式: 显示显示加载到加载到MATLABM

5、ATLAB中的索引图像:中的索引图像: image(X);image(X); colormapcolormap(map)(map) X X和和mapmap是索引图像的参数,是索引图像的参数,X X为数据矩阵,为数据矩阵,mapmap为颜色矩阵。为颜色矩阵。 显示显示加载到加载到MATLABMATLAB中的灰度图像:中的灰度图像: imagescimagesc(I,0 n);(I,0 n); colormapcolormap(gray)(gray) I为灰度图像的数据矩阵,为灰度图像的数据矩阵, 表表示灰度图像的灰度范围,示灰度图像的灰度范围,n为整数,为整数,如如256、128等,系统默认值为

6、等,系统默认值为256(有些系统为(有些系统为64)。)。函数函数imshow()()的语法格式的语法格式: imshow(X,map):用于显示索引图像,它将矩阵:用于显示索引图像,它将矩阵X X中中 的的每个像素显示为存储在颜色影像表每个像素显示为存储在颜色影像表map中中相应相应的的行行 所所对应的颜色。对应的颜色。 imshow(I,n):用于显示灰度图像,其中用于显示灰度图像,其中I是灰度是灰度图的数图的数据据矩阵;矩阵;n表示灰度级,表示灰度级,是整数,如果是整数,如果n默认默认,则,则为为256256或或6464级灰度。当级灰度。当n为为2 2时就变成二值图像。时就变成二值图像。

7、 subimage和和subplot函数结合使用可以在同一窗口中显多函数结合使用可以在同一窗口中显多幅图像,即使它们的图像类型不同。幅图像,即使它们的图像类型不同。2 2 MATLAB MATLAB 中的图像中的图像类型类型1 1)图像处理)图像处理工具箱支持的基本图像类型工具箱支持的基本图像类型 图像处理工具箱支持的图像分为四个基本类型:图像处理工具箱支持的图像分为四个基本类型: 索引图像、灰度图像、二值图像和索引图像、灰度图像、二值图像和RGBRGB图像。图像。 索引索引图像图像 索引索引图像包括一个数据矩阵(图像包括一个数据矩阵(I I)和一个颜)和一个颜 色影像表色影像表矩阵矩阵 (M

8、apMap)。)。MapMap矩阵是一个矩阵是一个3 3列若干行的数据阵列,其每列若干行的数据阵列,其每一行一行 分别分别表示红色、绿色和蓝色的颜色值,其值由表示红色、绿色和蓝色的颜色值,其值由00,11之间的浮之间的浮点值构成。图像中的像素颜色由数据矩阵点值构成。图像中的像素颜色由数据矩阵I I作为索引指向矩阵作为索引指向矩阵MapMap进行索引。进行索引。灰度图像是一个数据矩阵灰度图像是一个数据矩阵I,每个元素代表一个像素,每个元素代表一个像素,I的数的数据表示在一定范围内的灰度值。据表示在一定范围内的灰度值。I可以是双精度浮点型,其可以是双精度浮点型,其值域为值域为0.0,1.0;也可以

9、是;也可以是unit8类型,其值域为类型,其值域为0,256。代码显示一幅灰度图像代码显示一幅灰度图像: imagesc(I,0,256); colormap(gray);例例:将灰度图像:将灰度图像blood1.tif的的256灰度级的灰度图像和灰度级的灰度图像和 64灰度级的灰度图像显示在同一个窗口中。灰度级的灰度图像显示在同一个窗口中。 两条语句实现显示功能两条语句实现显示功能 灰度图像:灰度图像: 图像只包含一个由图像只包含一个由0 0和和1 1构成的矩阵,可以保存为双精构成的矩阵,可以保存为双精度度doubledouble或或unit8unit8类型的数组。其显示方式与灰度或索引图像

10、类型的数组。其显示方式与灰度或索引图像类似类似。 RGBRGB图像:图像: RGBRGB图像在图像在MATLABMATLAB中存储为一个中存储为一个n n* *m m* *3 3的三维数据数组。的三维数据数组。数组中的元素定义了每一个像素的红、绿、蓝颜色值。因此数组中的元素定义了每一个像素的红、绿、蓝颜色值。因此像素的颜色由保存在像素位置上的红、绿、蓝的强度值的组像素的颜色由保存在像素位置上的红、绿、蓝的强度值的组合来确定。数组可以是双精度浮点型或合来确定。数组可以是双精度浮点型或unit8unit8类型的数组。类型的数组。n n、m m分别为图像的行列数。分别为图像的行列数。 二值二值图像图

11、像3.图像类型的图像类型的转换转换 MATLAB有对四种基本类型的转换函数有对四种基本类型的转换函数。各种。各种图像类型之间的转换图像类型之间的转换关系关系 如如图:图:索引图像索引图像灰度图像灰度图像真彩色图像真彩色图像二值图像二值图像数据矩阵数据矩阵u索引图像转换为灰度图像的函数索引图像转换为灰度图像的函数ind2grayind2gray():():其语法格式为:其语法格式为: I=ind2gray(I=ind2gray(X,mapX,map) ): 将具有颜色图将具有颜色图mapmap的索引图像的索引图像X X转换为灰度图像转换为灰度图像I I,X X可以是双可以是双精度型或精度型或un

12、it8unit8型,型,I I是双精度型是双精度型。u索引图像转换为索引图像转换为RGBRGB图像的函数图像的函数ind2rgb( )ind2rgb( ) 其语法格式为:其语法格式为: RGB=ind2rgb(RGB=ind2rgb(X,mapX,map) ): 将具有颜色图将具有颜色图mapmap的索引图像的索引图像X X转换为彩色图像转换为彩色图像RGBRGB。uRGBRGB图像转换为索引图像的函数图像转换为索引图像的函数rgb2ind( )rgb2ind( ): 其其语法格式语法格式有:有: X,mapX,map=rgb2ind(RGB)=rgb2ind(RGB):直接将:直接将RGBR

13、GB图像转换为具有颜色图像转换为具有颜色图图 mapmap的矩阵的矩阵X X。X=rgb2ind(X=rgb2ind(RGB,mapRGB,map) ):将:将RGBRGB中的颜色与颜色中的颜色与颜色图图map map 中最相中最相近的颜色匹配,将近的颜色匹配,将RGBRGB转换为转换为具有具有MAPMAP颜色图的索引图。颜色图的索引图。 X,mapX,map=rgb2ind(=rgb2ind(RGB,nRGB,n) ):使用最小方差量化:使用最小方差量化方法方法将将RGBRGB图图像转换为索引图像像转换为索引图像X X,mapmap中中包括至少包括至少n n个颜色。个颜色。 X,mapX,m

14、ap=rgb2ind(=rgb2ind(RGB,tolRGB,tol) ):用均匀量化的方法将:用均匀量化的方法将RGBRGB图图像转换为索引图像像转换为索引图像X,tolX,tol的范围从的范围从0.00.0到到1.01.0。例例uRGBRGB图像转换为灰度图像的函数图像转换为灰度图像的函数rgb2gray( )rgb2gray( )语法语法格式:格式: I=rgb2gray(RGB)I=rgb2gray(RGB)表示将输入的表示将输入的RGBRGB图像图像转换为转换为灰度图像灰度图像。BW=im2bw(BW=im2bw(I,map,levelI,map,level) ):将颜色图为:将颜色

15、图为mapmap的的索引图像索引图像I I转换转换为为 二二值图像值图像。 BW=im2bw(BW=im2bw(I,levelI,level) ):将灰度图像:将灰度图像I I转换为二值图像。转换为二值图像。BW=im2bw(BW=im2bw(RGB,levelRGB,level) ):将:将RGBRGB图像转换为二值图图像转换为二值图 像像。其中,其中,level是阈值,取值在是阈值,取值在01之间。当输入图像的亮度小之间。当输入图像的亮度小于于level时,对应的输出图像的像素值为时,对应的输出图像的像素值为0,其他地方均为,其他地方均为1。u转换为二值图像的函数转换为二值图像的函数im2

16、bw( )im2bw( ) 该函数通过阈值化方法将索引、灰度和该函数通过阈值化方法将索引、灰度和RGBRGB图像转换为图像转换为二值图像。其语法格式为:二值图像。其语法格式为:u灰度图像转换为索引图像的函数灰度图像转换为索引图像的函数gray2ind( )gray2ind( ): 其语法格式为:其语法格式为: X,mapX,map=gray2ind(=gray2ind(I,nI,n) ): 按指定的灰度级按指定的灰度级n n将灰度图像将灰度图像I I转换成索引图像转换成索引图像 X X,n n的默认值是的默认值是6464。 Mat2grayMat2gray函数其函数其调用格式如下:调用格式如下

17、:I=mat2gray(A,I=mat2gray(A,amin,amaxamin,amax) amin,amaxamin,amax 为数据矩阵为数据矩阵A A的取值区间,的取值区间,aminamin对应灰度值对应灰度值0 0,amaxamax对应灰度值对应灰度值1 1。如果不指定区间。如果不指定区间,则,则MATLABMATLAB自动将自动将A A中中的最小元素设为的最小元素设为0 0,最大元素设为,最大元素设为1 1。另外,输入矩阵。另外,输入矩阵A A与与输出矩阵输出矩阵I I都为都为doubledouble类型。类型。u将数据矩阵转换成一幅灰度图像的函数将数据矩阵转换成一幅灰度图像的函数

18、 图像增强(图像增强(image enhancementimage enhancement)的定义:)的定义:在图像的获取过程中,由于多种因素的影响,导致图在图像的获取过程中,由于多种因素的影响,导致图像质量退化。图像增强是对退化图像的某些特征,如像质量退化。图像增强是对退化图像的某些特征,如边缘、轮廓、对比度等进行强调或锐化处理。边缘、轮廓、对比度等进行强调或锐化处理。点运算是指像素值通过运算改变之后,可以改善图像的点运算是指像素值通过运算改变之后,可以改善图像的显示效果。这是一种像素的逐点运算。点运算与相邻的显示效果。这是一种像素的逐点运算。点运算与相邻的像素之间没有运算关系,是一种简单且

19、十分有效的图像像素之间没有运算关系,是一种简单且十分有效的图像处理手段。处理手段。对于一幅输入图像,经过点运算将产生一幅输出图像,对于一幅输入图像,经过点运算将产生一幅输出图像,输出图像上每个像素的灰度值仅由相应输入像素的灰度输出图像上每个像素的灰度值仅由相应输入像素的灰度值决定,而与像素点所在的位置无关。对比度增强、对值决定,而与像素点所在的位置无关。对比度增强、对比度拉伸或灰度变换都属于点运算。它是图像数字化软比度拉伸或灰度变换都属于点运算。它是图像数字化软件和图像显示软件的重要组成部分。件和图像显示软件的重要组成部分。 灰度级校正就是对图像像素进行逐点修正,降低成像的灰度级校正就是对图像

20、像素进行逐点修正,降低成像的不均匀性,使整幅图像能够均匀成像。不均匀性,使整幅图像能够均匀成像。灰度变换可使图像动态范围增大,图像对比度扩展,从灰度变换可使图像动态范围增大,图像对比度扩展,从而使图像变得清晰,以及图像上的特征变得明显而使图像变得清晰,以及图像上的特征变得明显。例例:A=A=imreadimread(pout.tifpout.tif); ); % %读入图像读入图像 imshowimshow(A(A); ); % %显示图像显示图像 J1= J1=imadjustimadjust(A(A,0.3 0.7,); ,0.3 0.7,); % %使用此函数,将图像在使用此函数,将图像

21、在0.30.3* *2550.72550.7* *255 255 灰度之间的灰度之间的值值 通过通过线性变换映射到线性变换映射到02550255之间之间 J2= J2=imadjustimadjust(A(A,0.5 0.7,); ,0.5 0.7,); figure,imshowfigure,imshow(J1(J1); %); %输出图像效果图输出图像效果图 figure,imshowfigure,imshow(J2(J2););J1J2 一幅图像的直方图表示该图像中不同灰度级像素出现的一幅图像的直方图表示该图像中不同灰度级像素出现的相对频率。相对频率。灰度灰度直方图反映了数字图像中每一灰

22、度级与其出直方图反映了数字图像中每一灰度级与其出现频率间的统计关系。现频率间的统计关系。 它它能能描述图像的概貌描述图像的概貌 ,如图像的灰度范围、每个灰度出,如图像的灰度范围、每个灰度出现的频率、灰度级的分布、整幅图像现的频率、灰度级的分布、整幅图像的明暗的明暗和对比度和对比度等。等。例:例:A=imread(pout.tif); %读入图像读入图像imshow(A); %显示图像显示图像figure,imhist(A); %显示图像的直方图显示图像的直方图J1=imadjust(A,0.3 0.7,); %使用此函数,将图像在使用此函数,将图像在0.3*2550.7*255灰度之间的灰度之

23、间的值通过线性变换映射到值通过线性变换映射到0255之间之间figure,imshow(J1); %输出图像效果图输出图像效果图figure,imhist(J1) %输出图像的直方输出图像的直方图图0501001502002500200400600800100012001400160005010015020025002004006008001000120014001600 如图,如图,灰度灰度分布集中在较窄的区间,引起图像不够分布集中在较窄的区间,引起图像不够清晰,清晰,采用直方采用直方图变换图变换,可使,可使灰度分布均匀,从而增大对比度,使图像细节灰度分布均匀,从而增大对比度,使图像细节清晰

24、。清晰。.直方图直方图变换变换通常有直方图均衡化及直方图规定化两类。通常有直方图均衡化及直方图规定化两类。l 直方图均衡化直方图均衡化 通过对原图像通过对原图像r r进行某种变换进行某种变换T T( (r r) ) ,使得图像的直方图变,使得图像的直方图变为均匀分布的直方图为均匀分布的直方图 。T T( (r r) ) 满足满足下列条件下列条件: 在在0,10,1之间满足单调递增之间满足单调递增 ( (保证灰度级从黑到白的保证灰度级从黑到白的次序不变)次序不变) ; 满足满足00T T( (r r) 1) 1(保证灰度在允许的范围内)。(保证灰度在允许的范围内)。 例:在例:在MATLABMA

25、TLAB环境中,采用直方图均衡的方法进行图像增环境中,采用直方图均衡的方法进行图像增强强 。A=imread(pout.tif);I=histeq(A); %调用函数完成直方图均衡化调用函数完成直方图均衡化figure,subplot(1,2,1),imshow(A); %直方图均衡化前的图像效直方图均衡化前的图像效果果subplot(1,2,2),imshow(I); %直方图均衡化后的图像直方图均衡化后的图像效果效果figure,subplot(1,2,1),imhist(A); %均衡化前的直方图均衡化前的直方图subplot(1,2,2),imhist(I); %均衡化后的直方图均衡化

26、后的直方图020040060080010001200140016000100200020040060080010001200140016000100200 修改修改一幅图像的直方图,使它与另一幅图像的直方图一幅图像的直方图,使它与另一幅图像的直方图匹配或具有一种预先规定的函数形状。匹配或具有一种预先规定的函数形状。 目标:当需要具有特定的直方图的图像时,可按目标:当需要具有特定的直方图的图像时,可按照预先设定的某个形状人为的调整图像的直方图。照预先设定的某个形状人为的调整图像的直方图。l 直方图规定化直方图规定化 平滑是一种区域增强的算法平滑是一种区域增强的算法 ,平滑算法有:邻域,平滑算法有

27、:邻域平均法,中值滤波和边界保持类滤波等。平均法,中值滤波和边界保持类滤波等。 4.1 4.1 邻域平均法邻域平均法 大部分的噪声都可以看作是随机信号,它们对图像的影大部分的噪声都可以看作是随机信号,它们对图像的影响可以看作是孤立的。对于某一像素而言,如果它与周围像响可以看作是孤立的。对于某一像素而言,如果它与周围像素点相比,有明显的不同,我们就认为该点被噪声感染了。素点相比,有明显的不同,我们就认为该点被噪声感染了。基于这样的分析,我们可以用邻域平均的方法,来判断每个基于这样的分析,我们可以用邻域平均的方法,来判断每个点是否含有噪声,并用适当的方法消除所发现的噪声。点是否含有噪声,并用适当的

28、方法消除所发现的噪声。 设当前待处理像素为设当前待处理像素为f (m, n) ,给出一个处理,给出一个处理模板,大小为模板,大小为3 33 3,如图所示。,如图所示。模板模板示意图示意图 处理后的图像设为处理后的图像设为g (m, n) ,则处理过程可描述为,则处理过程可描述为 11(,)( , )(,)( , )99( , )i Z j Zi Z j Zf mi njf m nf mi njg m nf m n当其他其中其中Z Z=-1,0,1=-1,0,1 这种邻域平均的方法也可以用另一种形式来表这种邻域平均的方法也可以用另一种形式来表示,把平均处理看作是图像通过一个低通空间滤波器后示,把

29、平均处理看作是图像通过一个低通空间滤波器后的结果,设该滤波器的冲激响应为的结果,设该滤波器的冲激响应为H (r, s) ,于是滤波器,于是滤波器输出的结果输出的结果g (m, n) 可以表示成卷积的形式,即可以表示成卷积的形式,即 k,l 决定了所选邻域的大小,决定了所选邻域的大小,H (r, s)为加权函数,又被为加权函数,又被称为掩模称为掩模( (MaskMask) )或模板或模板, ,常用的模板常用的模板还有还有: : kkrllsNnmsrHsnrmfnmf1, 2 , 1 , 0,),(),(),(1111211111011H1212421211612H111101111813H00

30、10021414141414HI = imread(cameraman.tif); J = imnoise(I,salt & pepper); % %椒盐噪声椒盐噪声h=1/8.*1 1 1;1 0 1;1 1 1;I1=filter2(h, J); %卷积运算卷积运算4.2 中值滤波中值滤波 在邻域平均法中,在去噪的同时也使边界变得在邻域平均法中,在去噪的同时也使边界变得模糊了,中值滤波是非线性的处理方法,在去噪的同模糊了,中值滤波是非线性的处理方法,在去噪的同时可以兼顾到边界信息的保留。时可以兼顾到边界信息的保留。 首先选一个含有奇数点的窗口首先选一个含有奇数点的窗口W W,将这个

31、窗口在图,将这个窗口在图像上扫描,把该窗口中所含的像素点按灰度级的升像上扫描,把该窗口中所含的像素点按灰度级的升(或降)序排列,取位于中间的灰度值,来代替该点(或降)序排列,取位于中间的灰度值,来代替该点的灰度值。即的灰度值。即 WlklnkmfMediannmg),(),(),( 例如选择滤波用的窗口例如选择滤波用的窗口W W如图所示,是一个一维的窗如图所示,是一个一维的窗口,待处理像素的灰度取这个模板中灰度的中值,滤口,待处理像素的灰度取这个模板中灰度的中值,滤波过程为:波过程为: 一一维窗口维窗口 除上述窗口外,常用的窗口还有方形、十字除上述窗口外,常用的窗口还有方形、十字形、圆形和环形

32、等等,如图所示。形、圆形和环形等等,如图所示。 中值滤波的常用窗口中值滤波的常用窗口中值滤波是一种非线性运算。它对于消除孤立点和线段中值滤波是一种非线性运算。它对于消除孤立点和线段的干扰十分有用。(因为孤立点经常会在序列的两端,的干扰十分有用。(因为孤立点经常会在序列的两端,这样,孤立点就会被相邻的点代替,从而做到消除孤立这样,孤立点就会被相邻的点代替,从而做到消除孤立点。)点。)特别是对于二进噪声尤为有效,对于消除高斯噪声的影特别是对于二进噪声尤为有效,对于消除高斯噪声的影响效果不佳。响效果不佳。对于一些细节较多的复杂图像,还可以多次使用不同的对于一些细节较多的复杂图像,还可以多次使用不同的

33、中值滤波,然后通过适当的方式综合所得的结果作为输中值滤波,然后通过适当的方式综合所得的结果作为输出,这样可以获得更好的平滑和保护边缘的效果。出,这样可以获得更好的平滑和保护边缘的效果。 例例 选用选用3 33 3的窗口进行中值滤波。的窗口进行中值滤波。I1 = imread(cameraman.tif);I=imnoise(I1,salt & pepper,0.02); %椒盐噪声椒盐噪声imshow(I);K = medfilt2(I); % %中值滤波中值滤波figure,imshow(K); 在图像增强中,有时候还需要加强图像中景物的边缘和在图像增强中,有时候还需要加强图像中景物

34、的边缘和轮廓。而边缘和轮廓常常位于图像中灰度突变的地方,轮廓。而边缘和轮廓常常位于图像中灰度突变的地方,因而我们可以直观的想到用灰度的差分对边缘和轮廓进因而我们可以直观的想到用灰度的差分对边缘和轮廓进行提取。这就是锐化处理的内容。行提取。这就是锐化处理的内容。5.1 5.1 梯度锐化法梯度锐化法 二元函数二元函数f f( (x,yx,y) )在坐标点在坐标点( (x,yx,y) )处的梯度定义为处的梯度定义为这个梯度向量的幅度由下式给出这个梯度向量的幅度由下式给出21222122)()()(yfxfGGfmagfyxyfxfGGfyx为了降低图像的运算量,因此,在实际操作中,常用绝对值为了降低

35、图像的运算量,因此,在实际操作中,常用绝对值或最大值运算代替平方与平方根运算近似求梯度的幅度:或最大值运算代替平方与平方根运算近似求梯度的幅度:|yxGGf|)| |,max(|yxGGf 对于数字图像处理微分将用差分代替,沿对于数字图像处理微分将用差分代替,沿x x和和y y方向的方向的一阶差分可分别表示为一阶差分可分别表示为: :),(), 1(jifjifGx),() 1,(jifjifGy由于所有梯度值都和相邻像素之间的灰度差分成比例。因此由于所有梯度值都和相邻像素之间的灰度差分成比例。因此我们可以利用它来增强图像中景物的边界。我们可以利用它来增强图像中景物的边界。 最简单的是最简单的

36、是RobertsRoberts算子,其算子,其G Gx x和和G Gy y的模板为的模板为0110,1001yxGG 采用采用梯度进行图像增强的方法梯度进行图像增强的方法是是使其输出图像的各点使其输出图像的各点等于该点处的梯度。即等于该点处的梯度。即 g(i, j)= f(i, j) 这种这种方法的缺点是输出的图像在灰度变化比较小的方法的缺点是输出的图像在灰度变化比较小的区域,区域, g g( (i,ji,j) ) 很小,显示的是一片黑色很小,显示的是一片黑色。I=imread(rice.png); imshow(I);h1=1,0;0,-1; J=imfilter(I,h1);figure,

37、imshow(J);22222yfxff 除上述一阶微分外,我们还可以选用二阶微分算子,比除上述一阶微分外,我们还可以选用二阶微分算子,比如拉普拉斯算子。一个连续的二元函数如拉普拉斯算子。一个连续的二元函数f f( (x,yx,y) ),其拉普拉斯,其拉普拉斯运算定义为运算定义为上式也可以表示为卷积的形式,即上式也可以表示为卷积的形式,即其中,其中,k k1 1,l l1 1, H H( (r,sr,s) )取下式取下式) 1,() 1,(), 1(), 1(),(4),(jifjifjifjifjifjigkkrllsNjisrHsjrifjig1, 2 , 1 , 0,),(),(),(0

38、101410101H对于数字图像,拉普拉斯算子可以简化为对于数字图像,拉普拉斯算子可以简化为 例例 应用拉普拉斯算子进行图像锐化处理。应用拉普拉斯算子进行图像锐化处理。I = imread(rice.png);imshow(I);h=0 -1 0;-1 4 -1;0 -1 0;I2=imfilter(I,h);figure,imshow(I2);(a a)原图像)原图像 (b b)拉普拉斯算子的锐化拉普拉斯算子的锐化结果结果图图 )1, 1(), 1(2) 1, 1()1, 1(), 1(2) 1, 1(jifjifjifjifjifjifdx)1, 1() 1,(2) 1, 1()1, 1(

39、) 1,(2) 1, 1(jifjifjifjifjifjifdy101202101xd121000121yd5.3 其他锐化算子其他锐化算子1. Sobel算子算子2122yxddS2. Prewitt算子算子用模板表示用模板表示dx, dy,如下如下2122yxpddS101101101xd111000111yd 例例 利用利用SobelSobel算子和算子和PrewittPrewitt算子对图像进行锐化处理算子对图像进行锐化处理 I = imread(rice.png);imshow(I);hs=fspecial(sobel);S=imfilter(I,hs);hp=fspecial(p

40、rewitt) P=imfilter(I,hp);figure,imshow(S,); figure,imshow(P,) (b)Prewitt算子算子( a)Sobel算子算子 5.4 高通滤波高通滤波常用的高通模板有:常用的高通模板有:1111811112H1212421213H0101410104HI = imread(rice.png);hs=fspecial(sobel);hs_nagative=hs;S=imfilter(I,hs);S_nagative=imfilter(I,hs_nagative);S_all=S+S_nagative; figure, imshow(I);fi

41、gure, imshow(S,);figure, imshow(S_nagative,);figure, imshow(S_all,);图(I) 图(S) 图(S_nagative) 图(S_all)6. 6. 图像图像的边缘检测的边缘检测 由于由于噪声和模糊的存在,检测到的边界可能会变宽噪声和模糊的存在,检测到的边界可能会变宽或在某些点处发生间断,因此,边界检测包括两个基本或在某些点处发生间断,因此,边界检测包括两个基本内容:首先抽取出反映灰度变化的边缘点,然后剔除某内容:首先抽取出反映灰度变化的边缘点,然后剔除某些边界点或填补边界间断点,并将这些边缘连接成完整些边界点或填补边界间断点,并将这些边缘连接

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论