第4章MATLAB图像处理工具箱优秀PPT.ppt

上传人:1398****507 文档编号:57463240 上传时间:2022-11-05 格式:PPT 页数:74 大小:5.07MB
返回 下载 相关 举报
第4章MATLAB图像处理工具箱优秀PPT.ppt_第1页
第1页 / 共74页
第4章MATLAB图像处理工具箱优秀PPT.ppt_第2页
第2页 / 共74页
点击查看更多>>
资源描述

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

1、第第4章章 图像灰度变换图像灰度变换 Matlab对图像的处理功能主要集中在它的图像处理工具箱(Image Processing Toolbox)中。图像处理工具箱是由一系列支持图像处理操作的函数组成,可以进行诸如几何操作、线性滤波和滤波器设计、图像变换、图像分析与图像增加、数学形态学处理等图像处理操作。图像处理工具箱主要有:图像处理工具箱主要有:Image Acquisition Toolbox(图像采集工具箱)Image Processing Toolbox(图像处理工具箱)Signal Processing Toolbox(信号处理工具箱)Wavelet Toolbox(小波分析工具箱)

2、Statistics Toolbox(统计工具箱)Bioinformatics Toolbox(生物信息学工具箱)4.1 MATLAB4.1 MATLAB图像处理程序的特点图像处理程序的特点n上手简洁,开发周期短,见效快。n程序代码编写量明显较小n有特地的图像处理工具箱nMATLAB程序不能脱离MATLAB平台而独立存在4.2 4.2 图像处理工具箱的图像类型图像处理工具箱的图像类型图像处理工具箱支持4种图像类型,它们是:真彩色图像(RGB images)索引色图像(index images)灰度图像(intensity images)二值图像(binary images)Matlab还支持由

3、多帧图像组成的图像序列 真彩色图像真彩色图像真彩色图像用 R、G、B 3个重量表示1个像素的颜色,数据结构是一个mn3的多维数组。假如读取图像中(100,50)处像素值,可以查看三元组(100,50,1:3)。真彩色图像可用双精度存储,亮度值范围是0,1常用存储方法是无符号整型存储,亮度值范围为0,255 图图1 1 真彩色图像的结构真彩色图像的结构真彩色图像数据格式真彩色图像数据格式 RGB图像的表示方法图像的表示方法-三幅重量图像合成三幅重量图像合成索引色图像索引色图像索引图像是把像素值作为RGB调色板下标的图像。索引色图像包含2个结构,一个是调色板map;另一个是图像数据矩阵X。调色板是

4、一个有3列和若干行的色调映像矩阵,矩阵每行代表一种色调,通过3个分别代表红、绿、蓝颜色强度的双精度数,形成一种特定颜色。图像数据是uint8或是双精度的。Matlab中调色板的色调强度是0,1中的浮点数,0代表最暗,1代表最亮。图图2 索引色图像的结构索引色图像的结构 索引图像的数据格式索引图像的数据格式 索引图像的索引图像的double与与uint8型型 doubleuint8图像数据图像数据调色板调色板索引图像的表示方法索引图像的表示方法读入一幅索引图像的语句如下:X,map=imread(trees.tif);显示一幅索引图像,可运用语句:imshow(X,map)或者:image(X)

5、%用系统当前的颜色表显示索引图像colormap(map)%将系统当前颜色表设置为map举例:举例:X,map=imread(trees.tif);X,map=imread(trees.tif);image(X)image(X)其效果等同于:其效果等同于:imshow(X,colormap)imshow(X,colormap)举例:X,map=imread(trees.tif);image(X)colormap(map);其效果等同于:imshow(X,map)MATLAB供应了一些预定义的彩色表imshow(X,hsv)imshow(X,hsv)imshow(X,autumn)imshow(

6、X,autumn)imshow(X,copper)imshow(X,copper)imshow(X,gray(64)imshow(X,gray(64)灰度图像灰度图像n存存储储灰灰度度图图像像只只须须要要一一个个数数据据矩矩阵阵,数数据据类类型型可可以以是是doubledouble也也可以是可以是uint8uint8。n 存存储储时时会会运运用用一一个个默默认认的的调调色色板板来来显显示示图图像。像。二值图像二值图像n与与灰灰度度图图像像相相同同,二二值值图图像像只只需需一一个个数数据据矩矩阵阵,每每个个像像素素只只有有2个个灰灰度度值值。可可以以接接受受uint8或或double类类型型存存

7、储储,工工具具箱箱中中以以二二值值图图像像作作为为返返回回结结果果的的函函数数都都运运用用uint8类型。类型。图像序列图像序列n图像处理工具箱支持将多帧图像连接成图像序列。运用cat函数将分散图像合并成图像序列,前提是各图像尺寸必需相同。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图像序列也可以产生一个四维数组,图像帧的序号在图像的长、宽、颜色后构成第四维。n一个

8、包含了5幅400300真彩色图像的序列,大小为n 40030035n一个包含了5幅400300灰度或是索引图像的序列,其大小为n 40030015nA=cat(4,A1,A2,A3,A4,A5),4维n提取其中一帧(如第2帧):A(:,:,:,2)4.3 Matlab4.3 Matlab图像类型转换图像类型转换 索引图像索引图像灰度图像灰度图像真彩图像真彩图像二值图像二值图像数据矩阵数据矩阵1.dither1.dither函数函数功能:图像抖动把RGB图像转换成索引图像把灰度图像转换成二值图像。格式:X=dither(RGB,map)BW=dither(I)(1 1)RGBRGB图像抖动成索引

9、图像图像抖动成索引图像 I=imread(autumn.tif);map=pink(1024);X=dither(I,map);imshow(I);figure,imshow(X,map);colorbar (2 2)灰度图像抖动成二值图像)灰度图像抖动成二值图像I=imread(rice.png);bw=dither(I);imshow(I);figure,imshow(bw);2.gray2ind2.gray2ind函数函数 功能:将灰度图像转换成索引图像。格式:X,map=gray2ind(I,n)n的缺省值为64。I=imread(cameraman.tif);X,map=gray2i

10、nd(I,16);subplot(121),imshow(I);subplot(122),imshow(X,map);3.grayslice3.grayslice函数函数功能:通过设定阈值将灰度图像转换成索引色图像。格式:X=grayslice(I,n)I=imread(cameraman.tif);X=grayslice(I,16);imshow(I);figure,imshow(X,bone(16);功能:将灰度图像、索引色图像和真彩色图像转化成二值图像。格式:BW=im2bw(I,level)BW=im2bw(X,map,level)BW=im2bw(RGB,level)level是一个

11、归一化阈值,取值在0,1。4.im2bw函数I=imread(autumn.tif);X=im2bw(I,0.5);imshow(I);figure,imshow(X);功能:将索引图像转换成灰度图像。格式:I=ind2gray(X,map)5.ind2gray5.ind2gray函数函数功能:将索引色图像转换成真彩色图像。格式:RGB=ind2rgb(X,map)例:I,map=imread(m83.tif);X=ind2rgb(I,map);imshow(I,map);figure,imshow(X);6.ind2rgb函数 功能:将一个数据矩阵转换成一幅灰度图像。格式:I=mat2gra

12、y(A)7.mat2gray7.mat2gray函数函数I=imread(rice.png);J=filter2(fspecial(sobel),I);K=mat2gray(J);figure,imshow(I),figure,imshow(K)功能:将一幅真彩色图像转换成灰度图像。格式:I=rgb2gray(RGB)例:RGB=imread(autumn.tif);X=rgb2gray(RGB);imshow(RGB);figure,imshow(X);8.rgb2gray函数转换效果图转换效果图 功能:将真彩色图像转换成索引色图像。格式:X,map=rgb2ind(RGB,n)例:RGB=

13、imread(autumn.tif);X,map=rgb2ind(RGB,128)imshow(RGB);figure,imshow(X,map);9.rgb2ind函数4.4 图像文件的读写和查询图像文件的读写和查询n imread:读取图形文件格式的图像;:读取图形文件格式的图像;n imwrite:写入图形文件格式的图像;:写入图形文件格式的图像;n imfinfo:获得图像的信息;:获得图像的信息;n loadsave:以:以Mat文件加载或保存矩阵数据;文件加载或保存矩阵数据;n imshow:显示加载到:显示加载到Matlab中的图像。中的图像。n n 函数函数imread可完成图

14、形图像文件的读取操作,其可完成图形图像文件的读取操作,其语法如下语法如下n 一般:一般:A=imread(filename,fmt)n 索引图像:索引图像:X,map=imread(filename,fmt)X,map=imread(m83.tif,tif)1 图形图像文件的读取图形图像文件的读取imdata=imdata=imread(ngc6543a.jpg);imread(ngc6543a.jpg);image(imdata)image(imdata)nimread函函数数可可以以从从图图形形文文件件中中以以特特定定位位宽宽读读取取图图像像。读读取取的的大大多多数数图图像像均均为为8bi

15、t。加加载载到到内内存存中中时时,就就存存储在类储在类uint8中。中。n n对对于于索索引引图图像像来来说说,即即使使图图像像阵阵列列的的本本身身为为uint8或或uint16,imread函函数数仍仍旧旧将将颜颜色色映映像像表表读读取取并并存存储储到到一个双精度的浮点类型阵列中。一个双精度的浮点类型阵列中。2 图形图像文件的写入(保存)图形图像文件的写入(保存)nimwrite函数可以完成图形图像文件的写入操作,函数可以完成图形图像文件的写入操作,n其语法为:其语法为:imwrite(A,filename,fmt)n imwrite(X,map,filename,fmt)n缺省的保存方式:

16、缺省的保存方式:uint8数据格式。数据格式。Matlab中很多图中很多图像都是像都是8bit,不须要双精度的浮点数据。,不须要双精度的浮点数据。imwrite(X,map,lena.bmp,bmp)A=imread(onion.png);A=imread(onion.png);B=A(50:100,100:150,:);B=A(50:100,100:150,:);imwrite(B,onion-part.png)imwrite(B,onion-part.png)C=imread(onion-part.png);C=imread(onion-part.png);subplot(1,2,1)su

17、bplot(1,2,1)image(A);axis image;title(image(A);axis image;title(全部全部)subplot(1,2,2)subplot(1,2,2)image(C);axis image;title(image(C);axis image;title(部分部分)3 图形图像文件信息的查询图形图像文件信息的查询nimfinfo函数用于从图像文件中查询其信息。所获得函数用于从图像文件中查询其信息。所获得信息依文件类型不同而不同,至少包含下面内容信息依文件类型不同而不同,至少包含下面内容n 文件名文件名 文件格式文件格式n 文件格式的版本号文件格式的版本

18、号 文件修改时间文件修改时间 n 文件的字节大小文件的字节大小 图像的宽度(像素)图像的宽度(像素)n 图像的长度(像素)图像的长度(像素)每个像素的位数每个像素的位数n 图像类型(图像类型(RGB图像、灰度图像还是索引图像)图像、灰度图像还是索引图像)imfinfo(autumn.tif)info=Filename:1x64 char FileModDate:01-十月-1996 16:19:44 FileSize:27387 Format:jpg FormatVersion:Width:600 Height:650 BitDepth:24 ColorType:truecolor Forma

19、tSignature:NumberOfSamples:3 CodingMethod:Huffman CodingProcess:Sequential Comment:1x69 char4 图像文件的显示图像文件的显示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

20、为图像为图像数据的值域。数据的值域。索引图像及其显示索引图像及其显示n索引图像包括数据矩阵索引图像包括数据矩阵X和颜色映像矩阵和颜色映像矩阵map。n其其中中map是是一一个个p3的的数数据据矩矩阵阵,其其每每个个元元素素的的值值均均为为0,1之之间间双双精精度度浮浮点点型型数数据据。map矩矩阵阵的的每每一一行行分分别别表表示示红红色色、绿绿色色和和蓝蓝色色的的颜颜色色值值。而而数数据据矩矩阵阵X可以是可以是double和和uint8型的,调用格式如下:型的,调用格式如下:n imshow(X,map)例例如如一一幅幅包包含含256色色的的uint8索索引引图图像像,运运用用一一个个仅仅有有

21、16色色的的调调色色板板显显示示,则则全全部部数数值值大大于于或或等等于于15的的像像素素都都将将被被显显示为调色板的最终一个颜色。示为调色板的最终一个颜色。借助不同的调色板显示图像,借助不同的调色板显示图像,X=imread(cameraman.tif);X=imread(cameraman.tif);map=pink(256);map=pink(256);imshow(X,map);imshow(X,map);colorbar;%colorbar;%显示颜色条显示颜色条灰度图像及其显示灰度图像及其显示n 一一幅幅灰灰度度图图像像是是一一个个数数据据矩矩阵阵 I,其其中中数数据据均均代代表表

22、了了在在确确定定范范围围内内的的颜颜色色灰灰度度值值。Matlab 把把灰灰度度图图像像用用数数据据矩矩阵阵的的形形式式进进行行存存储储,每每个个元元素则表示了图像中的每个像素。矩阵元素可以是素则表示了图像中的每个像素。矩阵元素可以是doudle、uint8整数类型。整数类型。n 多多数数状状况况下下,灰灰度度图图像像很很少少和和颜颜色色映映像像表表一一起起保保存存,但但在在显显示示灰灰度度图像时,图像时,Matlab 仍旧在后台运用系统预定义的缺省灰度颜色映像表。仍旧在后台运用系统预定义的缺省灰度颜色映像表。(1)灰度图像显示最基本的调用格式灰度图像显示最基本的调用格式 imshow(I)M

23、atlab 中中 imshow函数运用一个灰度级系统调色板函数运用一个灰度级系统调色板(R=G=B)来显示灰度图像。假如)来显示灰度图像。假如I是是double型,若像素值为型,若像素值为0.0,则显示为黑色,则显示为黑色,1.0则显示为白色,则显示为白色,0.0和和1.0之间的像素之间的像素值将显示为灰影。值将显示为灰影。imshow函数显示灰度图像函数显示灰度图像(2)运用明确指定的灰度级数目运用明确指定的灰度级数目 imshow(I,n)以下语句将显示一幅以下语句将显示一幅32个灰度级的图像个灰度级的图像I。imshow(I,32)(3)某些状况下,可能将一些超出数据惯例范围的某些状况下

24、,可能将一些超出数据惯例范围的数据显示为一幅灰度图像数据显示为一幅灰度图像 对于对于double型数组为型数组为0,1,对于对于uint8型型数组为数组为0,255n为了将超过数据范围的数据显示为图像,用户可以为了将超过数据范围的数据显示为图像,用户可以干脆定义数据范围,其调用格式如下,干脆定义数据范围,其调用格式如下,n imshow(I,low high)n 其中其中low、high分别为数据的最小和最大值。分别为数据的最小和最大值。n假如用户运用一个空矩阵假如用户运用一个空矩阵 指定数据范围,指定数据范围,imshow将自动进行数据标度。将自动进行数据标度。RGB图像及其显示图像及其显示

25、imshow函数显示函数显示RGB图像的调用格式如下,图像的调用格式如下,imshow(RGB)参数参数RGB是是mn3的数组。的数组。imshow显示数值显示数值(r,c,1 3)所描述颜色像素()所描述颜色像素(r,c)。每个屏幕像素运)。每个屏幕像素运用用24位颜色系统干脆显示真彩图像,系统给每个像素位颜色系统干脆显示真彩图像,系统给每个像素的红、绿、蓝颜色重量安排的红、绿、蓝颜色重量安排8位(位(256级),这样就有级),这样就有1000多万种颜色(多万种颜色(224)。)。二二值值图像及其显示图像及其显示显示二值图像用如下语句,显示二值图像用如下语句,imshow(BW)二值图像是一

26、个逻辑类,包括二值图像是一个逻辑类,包括0和和1两个数值,两个数值,像素像素0显示为黑色,像素显示为黑色,像素1显示为白色。显示为白色。通过通过NOT()吩咐可对二进制图像取反,数值吩咐可对二进制图像取反,数值0显示为白色,显示为白色,1显示为黑色。显示为黑色。例:例:BW=imread(circles.png);imshow(BW);figure,imshow(BW);二二值值图像显示效果图像显示效果 干脆从磁盘显示图像干脆从磁盘显示图像通常在显示图像前首先调用通常在显示图像前首先调用imread函数装载图像,将函数装载图像,将数据存储为数据存储为Matlab工作平台中的变量。工作平台中的变

27、量。假如不在显示图像前装载图像,则运用以下吩咐格式假如不在显示图像前装载图像,则运用以下吩咐格式进行图像文件显示,进行图像文件显示,imshow filename imshow rice.pngimshow(rice.png)多幅图像文件的显示多幅图像文件的显示 创建新的图像窗口,每个图像显示在一个窗创建新的图像窗口,每个图像显示在一个窗口中口中 figure,imshow功能:新建一个图像窗口,用于显示新图像功能:新建一个图像窗口,用于显示新图像(从而不让新的图像覆盖原来图像)。(从而不让新的图像覆盖原来图像)。调用调用imshow函数显示图像函数显示图像I=imread(rice.png)

28、J=filter2(1 2;-1-2,I)%用模板用模板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);子图显示子图显示 l

29、oad treesload treesX2,map2=imread(forest.tif);X2,map2=imread(forest.tif);subplot(1,2,1),subimage(X,map)subplot(1,2,1),subimage(X,map)subplot(1,2,2),subimage(X2,map2)subplot(1,2,2),subimage(X2,map2)多多图图显示显示montagemontage函数,可用于显示某一文件夹下某一格式的函数,可用于显示某一文件夹下某一格式的全部图像文件,组成一个四维矩阵,并显示在一个图像全部图像文件,组成一个四维矩阵,并显示

30、在一个图像框中。语法格式如下框中。语法格式如下montagemontage(I I)montagemontage(D D,mapmap)例例 load mriload mri montage(D,map)montage(D,map)1 1)immovieimmovie 以动画方式显示各帧图像,既将各帧图片以动画方式显示各帧图像,既将各帧图片转换为转换为matlabmatlab动画格式;只能用索引图像;动画格式;只能用索引图像;mov=immovie(X,map)mov=immovie(X,map)2 2)moviemovie 播放已记录的影片;播放已记录的影片;movie(M,n,fps)mo

31、vie(M,n,fps)MM待播放的数据矩阵;待播放的数据矩阵;nn影片的播放次数,默影片的播放次数,默认为认为1 1;fpsfps影片的播放速度,既每秒播放的图影片的播放速度,既每秒播放的图片帧数,默认为片帧数,默认为1212帧帧/秒;秒;多帧图像的电影片段多帧图像的电影片段 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的每一帧读入的每一帧读入图相应的图像帧中图相应的图像帧中

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

当前位置:首页 > pptx模板 > 商业计划书

本站为文档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