第8章数字图像处理工具箱.ppt

上传人:hyn****60 文档编号:70798267 上传时间:2023-01-28 格式:PPT 页数:117 大小:6.73MB
返回 下载 相关 举报
第8章数字图像处理工具箱.ppt_第1页
第1页 / 共117页
第8章数字图像处理工具箱.ppt_第2页
第2页 / 共117页
点击查看更多>>
资源描述

《第8章数字图像处理工具箱.ppt》由会员分享,可在线阅读,更多相关《第8章数字图像处理工具箱.ppt(117页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第第8章章MATLAB图像像处理工具箱理工具箱 Matlab是是一一种种基基于于向向量量(数数组)而而不不是是标量量的的高高级程程序序语言言,因因而而Matlab从从本本质上上就就提提供供了了对图像像的的支支持持。数数字字图像像实际上上是是一一组有有序序离离散散的的数数据据,使使用用Matlab可可以以对这些些离离散散数数据据形形成成的的矩矩阵进行行一一次次性性的的处理。理。Matlab对图像像的的处理理功功能能主主要要集集中中在在它它的的图像像处理工具箱(理工具箱(Image Processing Toolbox)中)中。图像像处理理工工具具箱箱是是由由一一系系列列支支持持图像像处理理操操作

2、作的的函函数数组成成,可可以以进行行诸如如几几何何操操作作、线性性滤波波和和滤波波器器设计、图像像变换、图像像分分析析与与图像像增增强、数数学学形形态学学处理等理等图像像处理操作。理操作。图像像处理工具箱主要有:理工具箱主要有:Image Acquisition Toolbox(图像采集工具箱)Image Processing Toolbox(图像处理工具箱)Signal Processing Toolbox(信号处理工具箱)Wavelet Toolbox(小波分析工具箱)Statistics Toolbox(统计工具箱)Bioinformatics Toolbox(生物信息学工具箱)8.1

3、Matlab中的中的图像像类型及型及类型型转换 Matlab中中的的数数字字图像像是是由由一一个个或或多多个个矩矩阵表表示示的的,Matlab强大大的的矩矩阵运运算算功功能能完完全全可可以以应用用于于图像像,那那些些适用于矩适用于矩阵运算的运算的语法法对Matlab中的数字中的数字图像同像同样适用。适用。8.1.1 图像和像和图像数据像数据缺省:缺省:double(64位浮点数位浮点数)uint8(无符号(无符号8位整型)位整型)8.1.2 图像像处理工具箱所支持的理工具箱所支持的图像像类型型 图像像处理工具箱支持理工具箱支持4种种图像像类型,它型,它们是:是:真彩色真彩色图像(像(RGB i

4、mages)索引色索引色图像(像(index images)灰度灰度图像(像(intensity images)二二值图像(像(binary images)Matlab还支持由多支持由多帧图像像组成的成的图像像序列序列 真彩色真彩色图像像真真彩彩色色图像像用用 R、G、B 3个个分分量量表表示示1个个像像素素的的颜色色,数数据据结构构是是一一个个mn3的的多多维数数组。如如果果要要读取取图像像中中(100,50)处像素像素值,可以,可以查看三元看三元组(100,50,1:3)。真彩色真彩色图像可用双精度存像可用双精度存储,亮度,亮度值范范围是是0,1常常用用存存储方方法法是是无无符符号号整整型

5、型存存储,亮亮度度值范范围为0,255 真彩色真彩色图像数据格式像数据格式双精度类双精度类:Double(每个像素占每个像素占8个字节个字节)整数类:整数类:Uint8(每个像素占每个像素占1个字节个字节)数组大小:数组大小:mn3(:,:,1)红色分量红色分量(:,:,2)绿色分量绿色分量(:,:,3)蓝色分量蓝色分量像素取值:像素取值:0,1 数组大小:数组大小:mn3(:,:,1)红色分量红色分量(:,:,2)绿色分量绿色分量(:,:,3)蓝色分量蓝色分量像素取值:像素取值:0,255 图图1 1 真彩色真彩色真彩色真彩色图图像的像的像的像的结结构构构构 索引色索引色图像像索引索引图像是

6、把像素像是把像素值作作为RGB调色板下色板下标的的图像。像。索引色索引色图像包含像包含2个个结构,一个是构,一个是调色板色板map;另一个;另一个是是图像数据矩像数据矩阵X。调色板是一个有色板是一个有3列和若干行的色彩映像矩列和若干行的色彩映像矩阵,矩,矩阵每每行都代表一种色彩,通行都代表一种色彩,通过3个分个分别代表代表红、绿、蓝颜色色强度的双精度数,形成一种特定度的双精度数,形成一种特定颜色。色。图像数据是像数据是uint8或是双精度的。或是双精度的。Matlab中中调色板的色彩色板的色彩强度是度是0,1中的浮点数,中的浮点数,0代代表最暗,表最暗,1代表最亮。代表最亮。图2 索引色索引色

7、图像的像的结构构 索引索引图像的数据格式像的数据格式双精度类双精度类:Double(每个元素占每个元素占8个字节个字节)整数类:整数类:Uint8(每个元素占每个元素占1个字节个字节)图像数组大小:图像数组大小:mn图像元素取值图像元素取值:1,p调色板矩阵:调色板矩阵:p3图像数组大小:图像数组大小:mn图像元素取值图像元素取值:0,p-1调色板矩阵:调色板矩阵:p3 索引索引图像的像的double与与uint8型型123401230000.06270.062700010.29020.6270.6270.38200.35781 doubleuint8图像数据像数据调色板色板 灰度灰度图像像n

8、 n 存存储灰灰度度图像像只只需需要要一一个个数数据据矩矩阵,数数据据类型型可可以以是是double也也可以是可以是uint8。n 存存储时会会使使用用一一个个默默认的的调色色板板来来显示示图像像。二二值图像像n 与与灰灰度度图像像相相同同,二二值图像像只只需需一一个个数数据据矩矩阵,每每个个像像素素只只有有2个个灰灰度度值。可可以以采采用用uint8或或double类型型存存储,工工具具箱箱中中以以二二值图像像作作为返返回回结果果的的函函数数都都使使用用uint8类型。型。图像序列像序列n图像像处理理工工具具箱箱支支持持将将多多帧图像像连接接成成图像像序序列列。可可以以使使用用cat函函数数

9、将将分分散散图像像合合并并成成图像像序序列列,前前提提是是各各图像像尺尺寸寸必必须相相同同,如如果果是是索索引引色色图像像,调色色板必板必须是一是一样的。的。n将将A1、A2、A3、A4、A5五五幅幅图像像合合并并成成一一个个图像像序列序列A,Matlab语句句为nA=cat(1,A1,A2,A3,A4,A5),1维,纵向排列向排列nA=cat(2,A1,A2,A3,A4,A5),2维,横向排列,横向排列nA=cat(3,A1,A2,A3,A4,A5),3维,竖向排列向排列 n图像序列也可以像序列也可以产生一个四生一个四维的数的数组,图像像帧的序号的序号在在图像的像的长、宽、颜色深度之后构成第

10、四色深度之后构成第四维。n一个包含了一个包含了5幅幅400300真彩色真彩色图像的序列,大小像的序列,大小为n 40030035n一个包含了5幅400300灰度或是索引图像的序列,其大小为n 40030015n A=cat(4,A1,A2,A3,A4,A5),4维n 提取其中一帧(如第2帧):A(:,:,:,2)8.1.3 图像文件的像文件的读写和写和查询n imread:读取取图形文件格式的形文件格式的图像;像;n imwrite:写入:写入图形文件格式的形文件格式的图像;像;n imfinfo:获取取图像的信息;像的信息;n loadsave:以:以Mat文件加文件加载或保存矩或保存矩阵数

11、据;数据;n imshow:显示加示加载到到Matlab中的中的图像。像。n n 函数函数imread可完成可完成图形形图像文件的像文件的读取操作取操作,其,其语法如下法如下,n 一般:一般:A=imread(filename,fmt)n 索引索引图像:像:X,map=imread(filename,fmt)X,map=imread(m83.tif,tif)图形形图像文件的像文件的读取取nimread函数可以从任何函数可以从任何Matlab 支持的支持的图形文件中形文件中以特定的位以特定的位宽读取取图像。像。读取的大多数取的大多数图像均像均为8bit。加。加载到内存中到内存中时,就存,就存储在

12、在类uint8中。中。n n对于于索索引引图像像来来说,即即使使图像像阵列列的的本本身身为uint8或或uint16,imread函函数数仍仍然然将将颜色色映映像像表表读取取并并存存储到一个双精度的浮点到一个双精度的浮点类型型阵列中。列中。图形形图像文件的写入(保存)像文件的写入(保存)nimwrite函数可以完成函数可以完成图形形图像文件的写入操作,像文件的写入操作,n其其语法法为:imwrite(A,filename,fmt)n imwrite(X,map,filename,fmt)n缺缺省省的的保保存存方方式式:uint8数数据据格格式式。Matlab中中许多多图像都是像都是8bit,不

13、,不需要双精度的浮点数据。需要双精度的浮点数据。imwrite(X,map,lena.bmp,bmp)imwrite(X,map,lena.bmp,bmp)图形形图像文件信息的像文件信息的查询nimfinfo函数用于从函数用于从图像文件中像文件中查询其信息。所其信息。所获取取信息依文件信息依文件类型不同而不同,至少包含下面内容型不同而不同,至少包含下面内容n 文件名文件名 文件格式文件格式n 文件格式的版本号文件格式的版本号 文件修改文件修改时间 n 文件的字文件的字节大小大小 图像的像的宽度(像素)度(像素)n 图像的像的长度(像素)度(像素)每个像素的位数每个像素的位数n 图像像类型(型(

14、RGB图像、灰度像、灰度图像像还是索引是索引图像)像)imfinfo(autumn.tif)4 图像文件的像文件的显示示n图像像显示函数示函数imshow。其。其语法格式如下,法格式如下,n灰度灰度图像像 imshow(I)n imshow(I,n)n imshow(I,low high)n二二值图像像 imshow(BW)n索引索引图像像 imshow(X,map)n真彩色真彩色图像像 imshow(RGB)其中其中n为灰度灰度级数数目,缺省目,缺省值为256。low high为图像像数据的数据的值域。域。索引索引图像及其像及其显示示n索引索引图像包括数据矩像包括数据矩阵X和和颜色映像矩色映

15、像矩阵map。n其其中中map是是一一个个p3的的数数据据矩矩阵,其其每每个个元元素素的的值均均为0,1之之间双双精精度度浮浮点点型型数数据据。map矩矩阵的的每每一一行行分分别表表示示红色色、绿色色和和蓝色色的的颜色色值。而而数数据据矩矩阵X可以是可以是double和和uint8型的,型的,调用格式如下:用格式如下:n imshow(X,map)例例如如一一幅幅包包含含256色色的的uint8索索引引图图像像,使使用用一一个个仅仅有有16色色的的调调色色板板显显示示,则则所所有有数数值值大大于于或或等等于于15的的像素都将被像素都将被显显示示为调为调色板的最后一个色板的最后一个颜颜色。色。借

16、助不同的借助不同的调色板色板显示示图像,像,X=imread(cameraman.tif);map=pink(256);imshow(X,map);colorbar;%显示示颜色条色条灰度灰度图像及其像及其显示示n 一幅灰度一幅灰度图像是一个数据矩像是一个数据矩阵 I,其中数据均代,其中数据均代表了在一定范表了在一定范围内的内的颜色灰度色灰度值。Matlab 把灰度把灰度图像用数据矩像用数据矩阵的形式的形式进行存行存储,每个元素,每个元素则表示了表示了图像中的每个像素。矩像中的每个像素。矩阵元素可以是元素可以是doudle、uint8整数整数类型。型。n 多数情况下,灰度多数情况下,灰度图像很

17、少和像很少和颜色映像表一起保色映像表一起保存,但在存,但在显示灰度示灰度图像像时,Matlab 仍然在后台使用仍然在后台使用系系统预定定义的缺省灰度的缺省灰度颜色映像表。色映像表。(1)灰度灰度图像像显示最基本的示最基本的调用格式用格式 imshow(I)Matlab 中中 imshow函函数数使使用用一一个个灰灰度度级系系统调色色板板(R=G=B)来来显示示灰灰度度图像像。如如果果I是是double型型,若若像像素素值为0.0,则显示示为黑黑色色,1.0则显示示为白白色色,0.0和和1.0之之间的像素的像素值将将显示示为灰影。灰影。imshow函数函数显示灰度示灰度图像像 imshow(I,

18、n)以下以下语句将句将显示一幅示一幅32个灰度个灰度级的的图像像I。imshow(I,32)(2)使用明确指定的灰度使用明确指定的灰度级数目数目(3)某些情况下,可能将一些超出数据某些情况下,可能将一些超出数据惯例例范范围的数据的数据显示示为一幅灰度一幅灰度图像像 对于于double型数型数组为0,1,对于于uint8型型数数组为0,255n为了了将超将超过数据范数据范围的数据的数据显示示为图像,用像,用户可以可以直接直接定定义数据范数据范围,其,其调用格式如下,用格式如下,n imshow(I,low high)n 其中其中low、high分分别为数据的最小和最大数据的最小和最大值。n如果如

19、果用用户使用一个空矩使用一个空矩阵 指定数据范指定数据范围,imshow将自将自动进行数据行数据标度。度。RGB图像及其像及其显示示imshow函数函数显示示RGB图像的像的调用格式如下,用格式如下,imshow(RGB)参数RGB是一个mn3的数组。对于RGB中的每一个像素(r,c),imshow显示数值(r,c,13)所描述颜色。每个屏幕像素使用24位颜色系统直接显示真彩图像,系统给每个像素的红、绿、蓝颜色分量分配8位(256级),这样就有1000多万种颜色(224)。二二进制制图像及其像及其显示示 显示二示二进制制图像用如下像用如下语句,句,imshow(BW)二二进制制图像是一个像是一

20、个逻辑类,仅包括包括0和和1两个数两个数值,像,像素素0显示示为黑色,像素黑色,像素1显示示为白色。白色。在在显示示时,也可以通,也可以通过NOT()命令,命令,对二二进制制图像取像取反,使数反,使数值0显示示为白色,白色,1显示示为黑色。黑色。例如:例如:BW=imread(circles.png);imshow(BW);figure,imshow(BW);显示的示的结果如下果如下图所示。所示。二二进制制图像像显示效果示效果 直接从磁直接从磁盘显示示图像像通常在通常在显示示图像前首先像前首先调用用imread函数装函数装载图像,将像,将数据存数据存储为Matlab工作平台中的工作平台中的变量

21、。量。如果不在如果不在显示示图像前装像前装载图像,像,则使用以下命令格式使用以下命令格式进行行图像文件像文件显示,示,imshow filename imshow rice.pngimshow(rice.png)多幅多幅图像文件的像文件的显示示 figure,imshow功能:新建一个功能:新建一个图像窗口,用于像窗口,用于显示新示新图像(从而不像(从而不让新的新的图像覆盖原来像覆盖原来图像)。像)。创建新的建新的图像窗口,每个像窗口,每个图像像显示在一个窗口中示在一个窗口中 调用用imshow函数函数显示示图像像I=imread(rice.png)J=filter2(1 2;-1-2,I)%

22、用模板用模板1 2;-1-2对图像像滤波波imshow(I)figure,imshow(J,)用用imshow显示示滤波前后的波前后的图像像 subplot(m,n,k),imshow%绘制并制并显示示m行行n 列第列第k个子个子图 例:例:X1=imread(rice.png);X2=imread(coins.png);X3=imread(bag.png);subplot(1,3,1),imshow(X1);subplot(1,3,2),imshow(X2);subplot(1,3,3),imshow(X3);子子图显示示子子图显示效果示效果 多多帧图像的像的电影片段影片段若一个若一个tif

23、图像文件包含有多像文件包含有多帧图像,一般用像,一般用immovie来来实现创建建电影片段功能,以下影片段功能,以下调用将根据多用将根据多帧索引索引图像像X创建建电影片段。影片段。mov=immovie(X,map)mri=uint8(zeros(128,128,1,27);for frame=1:27 mri(:,:,:,frame),map=imread(mri.tif,frame);endmov=immovie(mri,map);movie(mov);将将mri.tif的每一的每一帧读入入图相相应的的图像像帧中中8.1.5 Matlab图像像类型型转换索引索引图像像进行行滤波波时,必,必

24、须把它把它转换为RGB图像,否像,否则光光对图像的像的标进行行滤波是毫无意波是毫无意义的。的。索引索引图像像灰度灰度图像像真彩真彩图像像二二值图像像数据矩数据矩阵工具箱中提供了工具箱中提供了许多多图像像类型型转换的函数,从函数名的函数,从函数名称可以看出它称可以看出它们的功能。的功能。1.dither函数函数功能:功能:图像抖像抖动,利用,利用仅能能显示少数彩色的示少数彩色的设备显示示含有丰富含有丰富颜色信息色信息图像的一种非常有用的方法。像的一种非常有用的方法。该函数可以把函数可以把RGB图像像转换成索引成索引图像或把灰度像或把灰度图像像转换成二成二值图像。像。格式:格式:X=dither(

25、RGB,map)BW=dither(I)抖抖动效果效果图 (1)RGB图像抖像抖动成索引成索引图像像 例:例:I=imread(autumn.tif);map=pink(1024);X=dither(I,map);imshow(I);figure,imshow(X,map);colorbar 抖动效果图抖动效果图 (2)灰度灰度图像抖像抖动成二成二值图像像例:例:I=imread(rice.png);bw=dither(I);imshow(I);figure,imshow(bw);抖动效果图抖动效果图 功能:将灰度功能:将灰度图像像转换成索引成索引图像。像。格式:格式:X,map=gray2i

26、nd(I,n)按照指定灰度按照指定灰度级n 把灰度把灰度图像像I转换成索引成索引图像像X,map 为gray(n),n的缺省的缺省值为64。例:例:I=imread(cameraman.tif);X,map=gray2ind(I,16);imshow(X,map);figure,imshow(I);2.gray2ind函数函数功能:通功能:通过设过设定定阈值阈值将灰度将灰度图图像像转换转换成索引色成索引色图图像。像。格式:格式:X=grayslice(I,n)例:例:I=imread(cameraman.tif);X=grayslice(I,16);imshow(I);figure,imsho

27、w(X,bone(16);3.grayslice函数函数功能:将灰度功能:将灰度图像、索引色像、索引色图像和真彩色像和真彩色图像像转化成化成二二值图像。像。格式:格式:BW=im2bw(I,level)BW=im2bw(X,map,level)BW=im2bw(RGB,level)level是一个是一个归一化一化阈值,取,取值在在0,1。4.im2bw函数函数I=imread(autumn.tif);X=im2bw(I,0.5);imshow(I);figure,imshow(X);功能:将索引功能:将索引图像像转换成灰度成灰度图像。像。格式:格式:I=ind2gray(X,map)5.ind

28、2gray函数函数功能:将索引色功能:将索引色图像像转换成真彩色成真彩色图像。像。格式:格式:RGB=ind2rgb(X,map)例:例:I,map=imread(m83.tif);X=ind2rgb(I,map);imshow(I,map);figure,imshow(X);6.ind2rgb函数函数 功能:将一个数据矩功能:将一个数据矩阵转换成一幅灰度成一幅灰度图像。像。格式:格式:I=mat2gray(A,amin amax)I=mat2gray(A)7.mat2gray函数函数 功能:将一幅真彩色功能:将一幅真彩色图像像转换成灰度成灰度图像。像。格式:格式:I=rgb2gray(RGB

29、)例:例:RGB=imread(autumn.tif);X=rgb2gray(RGB);imshow(RGB);figure,imshow(X);8.rgb2gray函数函数转换效果效果图 功能:将真彩色功能:将真彩色图像像转换成索引色成索引色图像像。格式:格式:X,map=rgb2ind(RGB,n)例:例:RGB=imread(autumn.tif);X,map=rgb2ind(RGB,128);imshow(RGB);figure,imshow(X,map);9.rgb2ind函数函数8.2 图像处理技术图像处理技术1 1 图像的灰度变换与直方图图像的灰度变换与直方图2 2 图像的增强滤

30、波图像的增强滤波3 3 图像的空间变换图像的空间变换4 4 图像边缘检测与分割图像边缘检测与分割8.2.1 图像的灰度变换与直方图图像的灰度变换与直方图n在计算机中一幅二维数字图像表示为一个矩阵,在计算机中一幅二维数字图像表示为一个矩阵,该矩阵中的元素是位于相应坐标位置的图像灰度该矩阵中的元素是位于相应坐标位置的图像灰度值。对图像处理,包括对彩色图像的处理,往往值。对图像处理,包括对彩色图像的处理,往往都是对像素灰度的操作,所以对图像进行灰度变都是对像素灰度的操作,所以对图像进行灰度变换是图像处理过程中最简单、最基础内容。换是图像处理过程中最简单、最基础内容。n在图像处理中,直接对像素进行的操

31、作称为空间在图像处理中,直接对像素进行的操作称为空间域(简称空域)处理。域(简称空域)处理。1 1图像的灰度变换图像的灰度变换函数函数imadjust完成灰度图像的灰度变换。语法格式为:完成灰度图像的灰度变换。语法格式为:gimadjust(p,low_in high_in,low_out high_out,gamma)其中其中p为读入到为读入到MATLAB中的待变换图像矩阵中的待变换图像矩阵;low_in high_in指定指定p图图像中被像中被执执行行变换变换操作的灰度操作的灰度范范围围,low_out high_out是是p图图像中的像素像中的像素变换变换后被后被映射到映射到low_ou

32、thigh_out的灰度的灰度级级上。上。参参数数gamma是是指指变变换换映映射射方方式式,默默认认gamma取取作作1,完成线性映射,这时变换前后的灰度级没有被加权;完成线性映射,这时变换前后的灰度级没有被加权;当当gamma小于小于1,则映射被加权至更高的灰度级;,则映射被加权至更高的灰度级;相反当相反当gamma大于大于1,输出则被加权映射至较低灰度级。,输出则被加权映射至较低灰度级。几种灰度变换过程几种灰度变换过程:将将football.jpg灰度灰度级级0.10.6范范围围的像素的像素线线性性变换变换到到01上,效果如上,效果如图图所示所示p=imread(football.jpg

33、);g1=imadjust(p,0.1 0.6,);subplot(1,2,1);imshow(p);xlabel(a);subplot(1,2,2);imshow(g1);xlabel(b);将图像将图像p向高灰度级变换,向高灰度级变换,gamma取取0.6,效果如图所示,效果如图所示g2=imadjust(p,0.6);subplot(2,2,3);imshow(g2);xlabel(c);将图像将图像p做灰度倒相变换,即输出源图的负片,做灰度倒相变换,即输出源图的负片,gamma取取1,如图所示。,如图所示。g3=imadjust(p,0 1,1 0);subplot(2,2,4);im

34、show(g3);xlabel(d);2 2灰度直方图灰度直方图图像灰度直方图描述了一幅图像的灰度级内容,即各图像灰度直方图描述了一幅图像的灰度级内容,即各个灰度级像素数目的统计。个灰度级像素数目的统计。直方图统计各个灰度像素的分布概率,是灰度级的函直方图统计各个灰度像素的分布概率,是灰度级的函数,它反映不出该像素在图像中的二维坐标。数,它反映不出该像素在图像中的二维坐标。通过灰度直方图的形状,可以判断该图像的清晰度和通过灰度直方图的形状,可以判断该图像的清晰度和黑白对比度。黑白对比度。MATLAB通过命令通过命令imhist给出图像直方图。语法格式给出图像直方图。语法格式为:为:h=imhi

35、st(p,b)其中其中p为读入的图像矩阵,为读入的图像矩阵,参数参数b指明直方图统计时显示的整个灰度级分段数目。指明直方图统计时显示的整个灰度级分段数目。省略省略b时,表明灰度级不分段,这也是时,表明灰度级不分段,这也是imhist的默认调的默认调用方式。用方式。如:如:uint8数据格式的图像,当数据格式的图像,当b2时,灰度分为时,灰度分为0127及及128256两个区段。两个区段。显示图像显示图像p的灰度直方图时,先要把的灰度直方图时,先要把RGB彩色图像彩色图像p变变换为灰度图像换为灰度图像I。运行下列程序得到如图所示直方图。运行下列程序得到如图所示直方图。p=imread(footb

36、all.jpg);I=rgb2gray(p);imhist(I);3 3直方图均衡化直方图均衡化当一幅图像基调过暗或过亮时,需要对其进行必要的当一幅图像基调过暗或过亮时,需要对其进行必要的处理,使得图像明暗均匀,视觉效果变得更为理想。处理,使得图像明暗均匀,视觉效果变得更为理想。通过直方图均衡化做适当的调整,即把一幅已知灰度通过直方图均衡化做适当的调整,即把一幅已知灰度概率分布图像中的像素灰度做某种映射变换,使它变概率分布图像中的像素灰度做某种映射变换,使它变成一幅具有均匀概率分布的新图像,使图像视觉效果成一幅具有均匀概率分布的新图像,使图像视觉效果更加清晰。更加清晰。直方图均衡的直方图均衡的

37、MATLAB函数为函数为histeq,其基本语法格,其基本语法格式为:式为:g=histeq(p,outlev)其中其中p为读入的图像矩阵,为读入的图像矩阵,outlev为输出图像的灰度级数。为输出图像的灰度级数。outlev的默认值为的默认值为64,即,即64个灰度级,这样对图像的细个灰度级,这样对图像的细节有一定改变。通常将其赋值为节有一定改变。通常将其赋值为256,即全灰度级。,即全灰度级。对对tire.tif进进行直方行直方图图均衡,效果如均衡,效果如图图所示。所示。p=imread(tire.tif);subplot(2,2,1);imshow(p);xlabel(a);subplo

38、t(2,2,2);imhist(p);xlabel(b);g=histeq(p);subplot(2,2,3);imshow(g);xlabel(c);subplot(2,2,4);imhist(g);xlabel(d);8.2.2 图像的增强滤波图像的增强滤波上节介绍过的直方图均衡化是图像增强中常用的一上节介绍过的直方图均衡化是图像增强中常用的一种方法,此外,图像增强技术还包括图像平滑滤波、种方法,此外,图像增强技术还包括图像平滑滤波、图像锐化等。图像锐化等。本节将从线性与非线性、平滑与锐化等角度介绍一本节将从线性与非线性、平滑与锐化等角度介绍一些实用的空域图像增强技术。些实用的空域图像增强

39、技术。1 1 空域滤波概述空域滤波概述图像增强技术从总体上可分为空域增强和频域增强两图像增强技术从总体上可分为空域增强和频域增强两大类。大类。空域增强也称为空间增强,是直接对图像中的像素进空域增强也称为空间增强,是直接对图像中的像素进行操作的一种增强过程。行操作的一种增强过程。空域增强从根本上讲是以图像的灰度映射变换为基础空域增强从根本上讲是以图像的灰度映射变换为基础的像素处理技术。的像素处理技术。n空域增强方法大致可分为对比度拉伸、平滑滤波和空域增强方法大致可分为对比度拉伸、平滑滤波和锐化滤波。灰度拉伸主要是利用点运算来修改图像锐化滤波。灰度拉伸主要是利用点运算来修改图像像素灰度值;而平滑和

40、锐化均是利用模板来修改像素灰度值;而平滑和锐化均是利用模板来修改(卷积运算)像素灰度值,从实现方法上讲是基于(卷积运算)像素灰度值,从实现方法上讲是基于图像滤波的操作过程。图像滤波的操作过程。n空域滤波是在图像空间中借助模板对图像进行邻域空域滤波是在图像空间中借助模板对图像进行邻域操作的,输出图像每一个像素的取值都是根据模板操作的,输出图像每一个像素的取值都是根据模板对输入像素相应邻域内的像素值进行计算得到的对输入像素相应邻域内的像素值进行计算得到的,也叫邻域去噪算法。也叫邻域去噪算法。2 2 空域滤波分类空域滤波分类根据模板特点不同可以将空域滤波分为线性和非线性根据模板特点不同可以将空域滤波

41、分为线性和非线性两大类。两大类。按照空域滤波器的功能不同,又可将其分为平滑滤波按照空域滤波器的功能不同,又可将其分为平滑滤波器和锐化滤波器。器和锐化滤波器。平滑滤波器可以用低通滤波实现;锐化滤波器是用高平滑滤波器可以用低通滤波实现;锐化滤波器是用高通滤波实现的,具体可分为以下通滤波实现的,具体可分为以下3类。类。1)均值滤波均值滤波 均值滤波也称线性平滑滤波,其输出的像素值是由均值滤波也称线性平滑滤波,其输出的像素值是由邻域像素的平均值决定。邻域像素的平均值决定。2)2)中值滤波中值滤波中值滤波也称为非线性平滑滤波,其基本原理与均值中值滤波也称为非线性平滑滤波,其基本原理与均值滤波不同之处在于

42、:中值滤波的输出像素值是由邻域滤波不同之处在于:中值滤波的输出像素值是由邻域像素的中间值而不是平均值决定,中值滤波的名字也像素的中间值而不是平均值决定,中值滤波的名字也因此而得。因此而得。与均值滤波相比,中值滤波对灰度发生聚变的像素不与均值滤波相比,中值滤波对灰度发生聚变的像素不如均值滤波那么敏感,因此中值滤波能尽量保存图像如均值滤波那么敏感,因此中值滤波能尽量保存图像的细节,模糊效应较少,适于消除图像中孤立噪声。的细节,模糊效应较少,适于消除图像中孤立噪声。3)3)锐化滤波锐化滤波锐化滤波就是可以使用微分对图像进行处理,以此来锐化滤波就是可以使用微分对图像进行处理,以此来锐化由于邻域平均导致

43、的图像模糊。锐化由于邻域平均导致的图像模糊。图像处理中最常用的微分是利用图像沿某方向上的灰图像处理中最常用的微分是利用图像沿某方向上的灰度变化率,即梯度进行的。度变化率,即梯度进行的。3基于基于MATLAB的空域增强滤波的空域增强滤波基于基于MATLAB图像处理的空域滤波,首先要定义滤图像处理的空域滤波,首先要定义滤波器,然后调用定义好的滤波器进行滤波。波器,然后调用定义好的滤波器进行滤波。imnoise是是MATLAB提供的图像噪声模拟函数,其基提供的图像噪声模拟函数,其基本语法格式为:本语法格式为:pn=imnoise(p,type,para)其中其中pn为添加噪声的输出图像,为添加噪声的

44、输出图像,p为原图像,为原图像,type指指定噪声的类型,定噪声的类型,para为每种类型噪声的参数。为每种类型噪声的参数。常用的噪声有:常用的噪声有:gaussian(高斯噪声)、(高斯噪声)、salt&pepper(椒盐噪声)、(椒盐噪声)、speckle(均值为(均值为0均匀分均匀分布的随机噪声)等。布的随机噪声)等。fspecial函数用来预定义滤波器,语法格式为:函数用来预定义滤波器,语法格式为:h=fspecial(type,para)其中其中h为预定义的滤波器,参数为预定义的滤波器,参数type指定滤波器的种类,指定滤波器的种类,para为与滤波器相关的参数。为与滤波器相关的参数

45、。滤波器的种类滤波器的种类type可以为:可以为:Gaussian(高斯低通滤波器高斯低通滤波器)、laplacian(拉普拉斯算子拉普拉斯算子)log(拉普拉斯高斯算子拉普拉斯高斯算子)、prewitt(Prewitt算子算子)sobel(Sobel算子算子)、average(均值滤波器均值滤波器)unsharp(对比度增强滤波器对比度增强滤波器)imfilter用来实现线性空间滤波的函数,语法格式为:用来实现线性空间滤波的函数,语法格式为:hp=imfilter(p,w,filter_mode,boundary_options,size_options)其中其中hp为经过滤波后输出图像,为

46、经过滤波后输出图像,p为原图像,为原图像,w为滤为滤波模板,波模板,filter_mode指定滤波中使用相关核指定滤波中使用相关核(corr)还是卷积核还是卷积核(conv)。boundary_options控制边界填充方式为边界复制控制边界填充方式为边界复制(replicate)、边界循环、边界循环(circular)还是边界对称还是边界对称(symmetric)。size_options可以为可以为same或者或者full两者之一。两者之一。medfilt2是一个二维中值滤波函数,语法格式为:是一个二维中值滤波函数,语法格式为:hp=medfilt2(p,m n,padopt)其中其中hp

47、为经过滤波后输出的图像,为经过滤波后输出的图像,p为原图像,为原图像,m及及n规定了邻域大小,规定了邻域大小,padopt指定了边界填充方式,默认指定了边界填充方式,默认方式为方式为zeros对添加了椒盐噪声的图像分别进行均值滤波和中值对添加了椒盐噪声的图像分别进行均值滤波和中值滤波,滤波前后效果如图所示。滤波,滤波前后效果如图所示。p=imread(coins.png);p0=imnoise(p,salt&pepper,0.02);%添加椒盐噪声添加椒盐噪声H1=fspecial(average,3 4);%设计均值滤波器设计均值滤波器H1p1=imfilter(p0,H1,replicat

48、e);%用滤波器用滤波器H1对图像对图像p0进行滤波进行滤波p2=medfilt2(p0,3,3,zeros);%对图像对图像p0进行中值进行中值滤波滤波subplot(2,2,1),imshow(p);%显示原图及处理后的图像显示原图及处理后的图像subplot(2,2,2),imshow(p0);subplot(2,2,3);imshow(p1);subplot(2,2,4);imshow(p2);均值滤波和中值滤波均值滤波和中值滤波(a)原图像;原图像;(b)添加椒盐噪声后图像;添加椒盐噪声后图像;(c)均值滤波后图像;均值滤波后图像;(d)中值滤波后图像中值滤波后图像)对含有噪声的原图

49、像进行锐化,得到如图所示图像。对含有噪声的原图像进行锐化,得到如图所示图像。p0=imread(moon.tif);p=im2double(p0);%将图像数据类型转换为将图像数据类型转换为doubleH1=fspecial(laplacian,0);%设计拉普拉斯滤波器设计拉普拉斯滤波器H1H2=fspecial(log,5 5,0.5);%设计高斯拉普拉斯设计高斯拉普拉斯滤波器滤波器H2hp1=imfilter(p,H1,replicate);%用滤波器用滤波器H1对图像对图像p进行滤波进行滤波hp2=imfilter(p,H2,replicate);%用滤波器用滤波器H2对图像对图像p进

50、行滤波进行滤波p1=p-hp1;%还原灰度色调还原灰度色调p2=p-hp2;%还原灰度色调还原灰度色调subplot(1,3,1),imshow(p0);subplot(1,3,2),imshow(p1);subplot(1,3,3);imshow(p2);拉普拉斯波和高斯拉普拉斯滤波拉普拉斯波和高斯拉普拉斯滤波(a)原图像原图像;(b)laplace滤波图像滤波图像;(c)高斯高斯laplace滤波图像滤波图像8.2.3 图像的空间变换图像的空间变换图图像像的的空空间间变变换换也也称称为为图图像像的的几几何何变变换换,是是指指将将用用户户获获得得或或设设计计的的原原始始图图像像,按按照照需需

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com