欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第2章 MATLAB图像处理工具箱.ppt

    • 资源ID:70799417       资源大小:272.50KB        全文页数:171页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第2章 MATLAB图像处理工具箱.ppt

    第第2章章 MATLAB图像处理工具箱图像处理工具箱2.1 MATLAB图像处理初步图像处理初步2.1.1 图像处理的基本操作图像处理的基本操作1.读入并显示一幅图像读入并显示一幅图像 clear%清除所有的工作平台变量 close all%关闭已打开的图形窗口 I=imread(pout.tif);%读取图像pout.tif%(该图像是图像处理工具箱自带的图像)%存储在一个名为I的数组中 imshow(I)%显示图像I2.检查内存中的图像检查内存中的图像 whos%查看图像数据I是如何存储在内存中的。3.实现直方图均衡化实现直方图均衡化 figure%生成一个新的图形窗口%避免后面的图像覆盖前面图像的显示 imhist(I)%创建描述图像I灰度分布的直方图 I2=histeq(I);%将图像的灰度值扩展到整个灰度%范围,从而提高图像数组I的对比度 figure,imshow(I2)%显示修改过的图像I2 figure,imhist(I2)%显示拓展后的灰度值的%分布情况 4.保存图像保存图像 imwrite(I2,pout.png);%将图像I2以PNG图像文件格式保存到磁盘5.检查新生成文件的内容检查新生成文件的内容 imfinfo(pout.png)%观察保存的图像文件信息 2.1.2 图像处理的高级应用图像处理的高级应用 主要对一幅灰度图像rice.png进行一些较为高级的操作为例说明整个过程。1.读取和显示图像读取和显示图像 clear%清除所有的工作平台变量 close all%关闭已打开的图形窗口 I=imread(rice.png);%读取图像rice.png%该图像是图像处理工具箱自带的图像 imshow(I)%显示图像2.估计图像背景估计图像背景 background=imopen(I,strel(disk,15);%对图像I进行形态学开操作,删除那些不完全%包括在半径为15的圆盘中的对象%实现对背景亮度的估计%strel(disk,15)创建一个扁平的、圆盘状的%结构元素,15为圆盘的半径 figure,imshow(background);figure,surf(double(background(1:8:end,1:8:end),zlim(0 255);%以表面形式显示背景 3.从原始图像中减去背景图像从原始图像中减去背景图像 I2=imsubtract(I,background);%将背景图像background从原始图像I中减去 figure,imshow(I2)4.调节图像对比度调节图像对比度 I3=imadjust(I2,stretchlim(I2),0 1);%调节图像的对比度 figure,imshow(I3);5.使用阈值操作将图像转换为二进制图像使用阈值操作将图像转换为二进制图像 level=graythresh(I3);bw=im2bw(I3,level);figure,imshow(bw)6.检查图像中的对象个数检查图像中的对象个数 labeled,numObjects=bwlabel(bw,4);%确定图像中的米粒个数 numObjects 1017.检查标记矩阵检查标记矩阵grain=imcrop(labeled)%选择选择并显示显示已标记的对象和部分背景内的像素RGB_label=label2rgb(labeled,spring,C,shuffle);%将标记矩阵标记矩阵显示为一副伪彩色的索引图像索引图像,%在伪彩色的彩色图像中,标记矩阵中的每一个每一个%对象对象都将被映射为相关调色板中的不同颜色相关调色板中的不同颜色imshow(RGB_label);8.计算图像中对象的统计属性计算图像中对象的统计属性 graindata=regionprops(labeled,basic)%调节图像中对象调节图像中对象或区域的属性区域的属性,%并将这些属性返回到一个结构体数组结构体数组中 graindata(51).Area%显示第51个元素的大小大小 graindata(51).BoundingBox,graindata(51).Centroid%寻找最近的边缘边缘和中心中心 allgrains=graindata.Area;%创建一个新的向量allgrains,%其包含每个米粒的范围 allgrains(51)%查看第51个元素的范围 max(allgrains)%获取最大的米粒大小 biggrain=find(allgrains=404)%返回最大米粒的标记号 mean(allgrains)%获取米粒的平均大小 hist(allgrains,20)%绘制包含20个柱的直方图2.2 MATLAB图像处理工具箱简介图像处理工具箱简介 2.2.1 常用图像格式常用图像格式图像格式:是存储图像采用的文件格式图像格式:是存储图像采用的文件格式。不同的操作系统、不同的图像处理软件,所支持的图像格式都有可能不同。在实际应用中经常会遇到的图像格式经常会遇到的图像格式有:BMP、GIF、TIFF、PCX、JPEG、PSD、PCD、WMF等。(1)BMP(Bitmap)文件:是文件:是Microsoft Windows所定义的图像文件格式。所定义的图像文件格式。(2)GIF文件:是文件:是CompuServeG公司最先在网络公司最先在网络中用于在线传送图像数据。中用于在线传送图像数据。(3)TIF文件:是由文件:是由Aldus公司与微软公司共同开发公司与微软公司共同开发设计的图像文件格式。设计的图像文件格式。(4)JPEG文件:是对静止灰度或彩色图像的一种文件:是对静止灰度或彩色图像的一种国际压缩标准,其正式的名称为国际压缩标准,其正式的名称为“连续色调静态连续色调静态图像的数字压缩和编码图像的数字压缩和编码”,已在数字照相机上得,已在数字照相机上得到广泛应用,当选用有损压缩方式时其可节省相到广泛应用,当选用有损压缩方式时其可节省相当大的空间。当大的空间。2.2.2 MATLAB图像类型图像类型 图像类型:图像类型:指数组数值与像素颜色之间定义的关系数组数值与像素颜色之间定义的关系,它与图像格式概念有所不同。在在MATLAB图像处理工具箱中图像处理工具箱中,有五种类型的图像五种类型的图像:(1)二进制图像:二进制图像:在一幅二进制图像中,每一个像素将取两个离散数值(0或1)中的一个,从本质上说,这两个数值分别代表状态“开”(on)或“关”(off)。二进制图像仅使用uint8或双精度双精度类型的数组来存储存储。在图像处理工具箱中,任何返回一幅二进制图像的函数均使用uint8逻辑数组存储该图像,并且使用一个逻辑标一个逻辑标志志来指示uint8逻辑数组的数据范围。若逻辑状态为“开开”(on),数组范围为0,1;若逻辑状态为“关关”(off),则数组范围为0,255。(2)索引图像索引图像:是一种把像素值像素值直接作为RGB调色调色板下标板下标的图像。在MATLAB中,索引图像索引图像包含有一个数据矩阵数据矩阵X和一个颜色映射(调色板)矩阵颜色映射(调色板)矩阵map。数据矩阵数据矩阵X可以是uint8、uint16、双精度类型的;颜色映射矩阵颜色映射矩阵map:是一个m3的数据矩阵,其中每个元素的值均为0,1之间的双精度浮点型数据,map矩阵的每一行每一行分别表示红色、绿色和红色、绿色和蓝色的颜色值蓝色的颜色值。索引图像可把像素值像素值直接映射为调色板数值调色板数值,每每一个像素的颜色一个像素的颜色通过使用使用X的数值的数值作为map的下的下标标来获得,如值值1指向矩阵map中的第一行中的第一行,值值2指向第二行第二行,依此类推。颜色映射颜色映射通常与索引图像存储在一起索引图像存储在一起,当装载图像时,MATLAB自动将颜色映射表与图像同时装载。图像矩阵图像矩阵与颜色映射表颜色映射表之间的关系依赖于图像数关系依赖于图像数据矩阵的类型据矩阵的类型。如果图像数据矩阵图像数据矩阵是双精度类型双精度类型,则数据值数据值1指向矩阵map中的第一行第一行,数据值数据值2将指向map中的第二行第二行,依此类推;如果图像矩阵图像矩阵是uint8或或uint16类型类型时,将产生一个偏移,即数据值数据值0表示矩阵map中的第一行第一行,数据值数据值1将指向map中的第二行第二行,依此类推。例:显示索引图像,并说明与颜色映射表的关系例:显示索引图像,并说明与颜色映射表的关系。解:在解:在M文件编辑器中输入下面的代码:文件编辑器中输入下面的代码:X,map=imread(canoe.tif);%输入图像输入图像文件文件 image(X);%显示图像显示图像 colormap(map)%设置颜色表设置颜色表(3)灰度图像灰度图像 灰度图像通常由一个uint8、uint16、双精度类型的数组来描述,其实质是一个数据矩阵数据矩阵I,该矩矩阵中的数据阵中的数据均代表了在一定范围内的灰度级灰度级,每每一个元素一个元素对应于图像的一个像素点一个像素点,通常0代表代表黑色黑色,1、255、65 535(针对不同存储类型)(针对不同存储类型)代表白色代表白色。例:灰度图像显示。解:在M文件编辑器中输入下面的代码:I=imread(trees.tif);%将图像格式文件读入 imagesc(I,0 1);%显示图像 colormap(gray)%设置颜色表(4)多帧图像多帧图像(多页图像多页图像、图像序列图像序列):是一种包含多幅图像或帧的图像文件。在MATLAB中,它是一个四维数组四维数组,其中第四维第四维用来指定帧的序号帧的序号。在一个多帧图像数组中,每一幅图像每一幅图像必须有相同的大小相同的大小和颜色分量和颜色分量,每一幅图像还要使用相同的调色板相同的调色板。另外,图像处理工具箱中的许多函数许多函数(如:imshow)只能对多幅图像矩阵的前两维前两维或三维三维进行操作,也可以对四维对四维数组使用这些函数,但是必须单独处理每一帧必须单独处理每一帧。如果将一个数组传递给一个函数,并且数组的维数超过该函数设计的超作维数,那么得到的结果是不可预知的。例例:load mri size(D)imshow(D(:,:,:,5)(5)RGB图像图像(真彩色图像真彩色图像):它是利用R、G、B三个分量表示一个像素的颜色像素的颜色,R、G、B分别代表红、绿、篮红、绿、篮3种不同的颜色种不同的颜色,通过三基色可以合成出任意颜色。所以对一个尺寸为尺寸为nm的彩色图像来说,在MATLAB中则存储为一个nm3的多多维数据数组维数据数组,其中数组中的元素定义了图像中的每一个像素的红、绿、篮颜色值。图形文件格式图形文件格式把RGB图像存储为24位位的图像,红、绿、篮分红、绿、篮分量分别占用量分别占用8位位。MATLAB的RGB数组数组可以是双精度的浮点型、8位或16位无符号的整数类型。在一个双精度类型双精度类型的RGB数组中,每一个颜色分量都是一个0,1范围内的数值。如:颜色分量为(0,0,0)的像素将显示为黑色黑色;颜色分量为(1,1,1)的像素将显示为白色白色。每一个像素的三个颜色分量三个颜色分量都存储在数组的第三第三维中维中。如:像素像素(10,5)的红、绿、篮颜色值的红、绿、篮颜色值分别保存在元素RGB(10,5,1)、RGB(10,5,2)、RGB(10,5,3)中。例:RGB图像显示。解:在M文件编辑器中输入下面的代码:RGB=imread(greens.jpg);%图像格式文件读入 image(RGB)%显示RGB图像 在上面的RGB图像中,要确定像素(12,9)的颜色,可以在命令行中输入:RGB(12,9,:)按回车键,得到:ans(:,:,1)=26 ans(:,:,2)=56 ans(:,:,3)=32例:例:创建一个简单的RGB图像,该图像包含某一范围内不中断的红、绿、篮颜色分量,另外,针对每一个颜色分量各创建一幅图像来加以对比:RGB=reshape(ones(64,1)*reshape(jet(64),1,192),64,64,3);R=RGB(:,:,1);G=RGB(:,:,2);B=RGB(:,:,3);subplot(2,2,1);imshow(R);subplot(2,2,2);imshow(G);subplot(2,2,3);imshow(B);subplot(2,2,4);imshow(RGB);2.2.3 MATLAB图像类型转换图像类型转换(1)图像颜色浓淡处理(图像抖动)图像颜色浓淡处理(图像抖动)X=dither(RGB,map)%通过抖动算法将真彩色图像真彩色图像RGB按指定的颜色%(调色板)map转换成索引色图像索引色图像XX=dither(RGB,map,Qm,Qe)%利用给定的参数Qm,Qe从真彩色图像真彩色图像RGB中%产生索引色图像索引色图像X%Qm表示沿每个颜色轴反转颜色图的量化%(即对于补色各颜色轴)的位数,%Qe表示颜色空间计算误差的量化误差。%如果QeQm,则不进行抖动操作。%Qm的默认值是5,Qe的默认值是8。BW=dither(I)%通过抖动算法将矩阵矩阵I中的灰度图像灰度图像%转换为二进制图像二进制图像。注意:注意:输入图像输入图像可以是双精度类型或8位无符号类型,其他参数必须是双精度类型。如果输出的图像输出的图像是二值图像或颜色种类少于256的索引图像时,为uint8类型,否则为doule型。例:例:由RGB图像图像产生一个索引图像索引图像 使用索引图像索引图像chess.met的颜色图的颜色图map,通过抖抖动动map中的颜色中的颜色,产生产生RGB图像autumn.tif的近的近似索引图像似索引图像。load chess;imshow(X,map)RGB=imread(autumn.tif);subplot(1,2,1);imshow(RGB);Y=dither(RGB,map);subplot(1,2,2);imshow(Y,map);(2)灰度图像转换为索引图像灰度图像转换为索引图像 X,map=gray2ind(I,n)%按指定按指定的灰度级数n和颜色图map,将灰度灰度%图像图像I转换成索引色图像索引色图像X,n的默认值为64例:例:将灰度图像pout.tif转化成索引图像X,颜色图分别为gray(512)和gray(128)。I=imread(pout.tif);I1,map1=gray2ind(I,512);I2,map2=gray2ind(I,128);subplot(1,3,1);imshow(I1,map1);subplot(1,3,2);imshow(I2,map2);subplot(1,3,3);imshow(I);(3)索引图像转换为灰度图像索引图像转换为灰度图像I=ind2gray(X,map)%将具有颜色图map的索引色图像索引色图像X转换成%灰度图像灰度图像I,去掉了图像的色度和饱和度,%仅保留了仅保留了图像的亮度信亮度信息。%输入图像可以是double或uint8类型。例:例:将一幅索引图像trees.mat转换成灰度图像。load trees;imshow(X,map);I=ind2gray(X,map);figure,imshow(I);(4)RGB图像转换为灰度图像图像转换为灰度图像I=rgb2gray(RGB)%将真彩色图像RGB转换成灰度图像Inewmap=rgb2gray(map)%将颜色图map转换成灰度级颜色图灰度级颜色图。注意:注意:如果输入输入的是真彩色图像真彩色图像,则图像可以是8位无符号类型或双精度类型,输出图像I与输入图像类型相同。如果输入输入的是颜色图颜色图,则输入和输出的图像均为双精度类型。例:例:将RGB图像autumn.tif转换为灰度图像。RGB=imread(autumn.tif);figure(1);imshow(RGB)figure(2);Y=rgb2gray(RGB);imshow(Y)(5)RGB图像转换为索引图像图像转换为索引图像X,map=rgb2ind(RGB)%直接直接将RGB图像图像转换为具有颜色图具有颜色图map的矩阵的矩阵XX,map=rgb2ind(RGB,tol)%用均匀量化均匀量化的方法将RGB图像转换为索引图像X X,map=rgb2ind(RGB,n)%使用最小方差量化最小方差量化的方法将RGB图像转换为索引图像%map中包括至少中包括至少n个颜色个颜色。X=rgb2ind(RGB,map)%通过将RGB中的颜色中的颜色与颜色图颜色图map中最相近的颜色最相近的颜色%匹配匹配,将RGB图像转换为具有map颜色图的索引图像。=rgb2ind(,dither_option)%通过dither_option参数来设置是否抖动。%dither_option为为dither表示使用抖动使用抖动,%以达到较好的颜色效果;缺省时为缺省时为nodither,%使用了新颜色图中最接近的颜色来画原图的颜色。例:例:将RGB图像autumn.tif转换为索引图像。RGB=imread(autumn.tif);figure(1);imshow(RGB)figure(2);Y=rgb2ind(RGB,128);imshow(Y)(6)索引图像转换为索引图像转换为RGB图像图像 RGB=ind2rgb(X,map)%将矩阵矩阵X及相应颜色图颜色图map转化成真彩图像真彩图像RGB%输入图像输入图像X可以是双精度类型或8位无符号类型,%输出图像输出图像RGB为双精度类型。例:例:将索引图像wmandril.mat转换为RGB图像。load wmandril;figure(1);imshow(X,map);I=ind2rgb(X,map);figure(2);imshow(I)(7)通过阈值化方法将图像转换为二值图像通过阈值化方法将图像转换为二值图像im2bw函数:函数:通过设置亮度阈值设置亮度阈值将真彩图像真彩图像、索引图像索引图像及灰度图像灰度图像转化成二值图像二值图像。在转换过程中,如果输入输入图像不是灰度图像图像不是灰度图像,首先将其转换为灰度级图像,然后通过阈值化将灰度级图像转换成二值图像。输出二值图像在输入图像所有亮度小于给定值亮度小于给定值(level取值范围为0,1)像素点处均为均为0,其他均为其他均为1。其语法格式为:BW=im2bw(I,level)%将灰度图像灰度图像I转化为黑白二值图像BW=im2bw(X,map,level)%将带有颜色图map的索引图像索引图像X转化为黑白二值图像BW=im2bw(RGB,level)%将RGB图像图像转化为黑白二值图像。注意注意:输入图像输入图像可以是双精度类型或8位无符号类型,输出图像输出图像为8位无符号类型。例例:通过阈值化方法将索引图像索引图像trees.mat转换为二值图像二值图像,阈值为0.4。load trees;BW=im2bw(X,map,0.4);figure(1);imshow(X,map);figure(2);imshow(BW)(8)通过阈值化方法从通过阈值化方法从灰度图像灰度图像产生产生索引图像索引图像X=grayslice(I,n)%将灰度图像灰度图像I均匀量化为均匀量化为n个个等级等级,然后转换为伪彩色图像伪彩色图像X。X=grayslice(I,v)%按指定的阈值向量按指定的阈值向量v(每一个元素都在0和1之间)对图像对图像I的值域的值域进行划分划分,而后转换成索引图像索引图像X。注意注意:输入图像输入图像I可以是双精度类型或8位无符号类型。如果阈值数量小于阈值数量小于256,则返回图像X的数据类型是8位无符号类型位无符号类型,X的值域为0,n或0,length(v);如果阈值数量大于阈值数量大于256,则返回图像X为双精度双精度类型类型,值域为1,n+1或1,length(v)+1。例例:将一幅将一幅灰度图像灰度图像转换成转换成索引图像索引图像。I=imread(cameraman.tif);figure(1);imshow(I);X=grayslice(I,16);figure(2);imshow(X,hot(16);(9)将矩阵转换为灰度图像将矩阵转换为灰度图像I=mat2gray(X,xmin,xmax)按指定的取值区间xmin,xmax将数据矩阵数据矩阵X转换为图像图像I,xmin对应灰度0(最暗最暗即黑),xmax对应灰度1(最亮最亮即白)。如果不指定区间不指定区间xmin,xmax时时,MATLAB则自动将X阵中最小阵中最小设为xmin,最大最大设为xmax。注意注意:输入输入X和输出图像输出图像I都是双精度类型。实际上,mat2gray函数函数与imshow函数函数功能类似。imshow函数也可用来使数据矩阵可视化。例例:将图像滤波后产生的矩阵转换为灰度图像。I=imread(cameraman.tif);J=filter2(fspecial(sobel),I);K=mat2gray(J);figure(1);imshow(I);figure(2);imshow(K);figure(3);imshow(J);2.3图像的显示图像的显示图像的显示过程:图像的显示过程:将图像从一组离散数据一组离散数据还原为一幅可见的图像一幅可见的图像的过程。图像的显示是提高图像处理分析性能非常有用的非常有用的一个手段一个手段,通过图像的显示,可以监视监视图像处理过程,并与处理分析交互交互地控制控制处理分析过程。图像显示最重要的特性最重要的特性是图像的大小、光度分辨率、灰度线性、平坦能力和噪声特性等,这些显示特性将共同决定共同决定一个数字图像显示系统的质量质量及其在特定应用中的适用性适用性等性能指标。3.3.1 标准图像显示技术标准图像显示技术Matlab显示图像的主要方法主要方法是调用调用image函数函数,该函数可创建创建一个句柄图形图像对象,并且包含设置设置该对象的各种属性的调用语法;此外,还提提供供了与image函数类似的imagesc函数函数,利用该函数,可以实现对输入图像数据的自动缩放自动缩放。同时,还包含了包含了一个附加的显示函数,即imshow函数函数,与image和imagesc函数类似,imshow函数可用于创建创建句柄图形图像对象。此外,该函数也可以自动设置设置各种句柄属性和图像特征,以优化显示效果。(1)imshow函数函数当调用imshow函数显示图像时,将自动设置自动设置图形窗口、坐标轴、图像属性,以控制图像数据在MATLAB的解释方式。在Matlab中,imshow函数的语法如下:imshow(I,n)%显示灰度图像imshow(I,low,high)%显示非图像数据imshow(BW)%显示二进制位图imshow(,display_option)imshow(x,y,A,)imshow filename%显示图形文件中的图像h=imshow()根据用户使用参数的不同和MATLAB工具箱的设置,imshow函数在调用时除了完成前面提到的除了完成前面提到的属性设置外,还可以属性设置外,还可以:设置其他的图形窗口对象和坐标轴对象的属性以设置其他的图形窗口对象和坐标轴对象的属性以定制显示效果定制显示效果。例如,可以通过设置隐藏坐标轴及其标示;包含或隐藏图像边框包含或隐藏图像边框;调用函数以显示没有彩色渐变效果的图像显示没有彩色渐变效果的图像。(2)显示索引图像显示索引图像利用imshow函数显示MATLAB的索引图像时,可以同时指定同时指定图像的数据矩阵数据矩阵和颜色映射表颜色映射表,形如:imshow(X,map)其中,对于X中的每个像素,imshow都将其显示为存储在map映射表矩阵的相应的行所对应的颜色。例例:load chess,imshow(X,map)(3)显示灰度图像显示灰度图像调用imshow函数显示灰度图像的语法如下:imshow(I)其中:I为灰度图像数据矩阵。例例:I=imshow(pout.tif);(4)显示二进制位图显示二进制位图imshow函数显示二进制位图的语法如下:imshow(BW)如果该位图的图像矩阵该位图的图像矩阵属于类类double,则imshow函数将其显示为灰度图将其显示为灰度图来对待,图像数据矩阵中值值0所对应的像素显示为黑色黑色,值值1所对应的像素显示为白色白色。(5)显示显示RGB图像图像显示RGB图像的语法:imshow(RGB)其中:RGB为一个mn3的图像数据矩阵。在Matlab中,该数据矩阵属于类double、类uint8或uint16。数据阵列中元素的取值元素的取值取决于该阵列所属的类型所属的类型:如果该数据阵列属于类类double,则其元素的取值范围是0,1;如果该数据阵列属于类类uint8,则其元素的取值范围是0,255;如果该数据阵列属于类uint16,则其元素的取值范围是0,65 535;(6)显示图形文件中的图像显示图形文件中的图像通常情况下,在显示图像时,该图像的对象数据对象数据保存保存在MATLAB运行内存中的一个或多个变量变量中。但是,如果用户将图像保存在可以通过将图像保存在可以通过imread函数读取的图形文件中函数读取的图形文件中,则可通过下面的语法直接将其显示出来:imshow filename 注意:注意:在使用这种格式时,该图形文件必须在当图形文件必须在当前目录下前目录下,或在在MATLAB目录下目录下。如果图像数据没有保存在没有保存在MATLAB工作平台中工作平台中,可以通过使用使用getimage函数函数将从当前的句柄图形图像对象中获取图像数据。如果图像是多帧多帧的,那么imshow将仅仅显示第显示第一帧一帧,这种调用格式对于图像扫描非常有用。例例:下面的代码可以显示一幅小孩儿的图像:imshow kids.tif(7)显示非图像数据显示非图像数据非图像数据非图像数据:是指其数据矩阵的元素值落在数据矩阵的元素值落在“合合法法”范围之外范围之外。对于double数组来说,该范围是0,1;对于uint8数组来说,该范围是0,255;对于uint16数组来说,该范围是0,65 535。例:例:假设将一个灰度图进行过滤操作,则得到的结果数据可能在“合法”范围之外。此时显示该结果数据必须使用下面的语法:imshow(I,low,high)*例:例:先读取testpat.tif图形文件,然后对其进行过滤操作,再将结果数据显示出来:I=imread(testpat.tif);J=filter(1 2;-1-2,I);imshow(I);figure,imshow(J,);2.3.2 特殊图像显示技术特殊图像显示技术在MATLAB的影像工具箱中,除了imshow函数外,还提供了一些实现特殊显示功能的函数实现特殊显示功能的函数。它们与MATLAB自身提供的图形函数相结合,为图像显示提供了各种特殊显示技术,包括有:图像显示中添加颜色条添加颜色条;显示多帧图像阵列;显示多帧图像阵列;图像上的区域缩放区域缩放;将图像纹理图像纹理映射到表面对象表面对象上;显示多幅图像显示多幅图像。(1)添加颜色条;添加颜色条;在MATLAB的图像显示中,可以利用colorbar函函数数将颜色条添加到坐标轴对象中。如果该坐标轴对象包含一个图像对象,则添加的颜色条将指示出该图像中不同颜色的数据值。例例:I=imread(cameraman.tif);imshow(I);colorbar;(2)显示多帧图像阵列;显示多帧图像阵列;MATLAB支持的多帧图像的文件格式支持的多帧图像的文件格式包括HDF和TIFF两种。文件一旦被读入MATLAB,多帧图像的显示帧数显示帧数由矩阵的第四维数值第四维数值来决定。在多阵列中查看图像,有下面几种方式:独立显示每一帧独立显示每一帧,调用imshow函数函数;同时显示所有的帧同时显示所有的帧,调用montage函数函数;将多帧阵列转换为动画电影将多帧阵列转换为动画电影,调用immovie函数函数。1)单帧显示单帧显示利用MATLAB标准的索引方法指定帧号指定帧号,调用调用imshow函数函数,就可独立显示特定的帧。例:例:load mri imshow(D(:,:,:,7);其中:D为MRI(磁共振图像)中的多帧图像阵列 调用imshow函数显示其中的第7帧。2)多帧显示多帧显示调用montage函数函数可实现多帧显示,该函数的语法如下:montage(I)montage(BW)montage(X,map)montage()例例:显示MRI的所有帧的代码如下:load mri montage(D,map);3)动画显示动画显示利用利用immovie函数函数,可以从多帧图像阵列中创建创建Matlab电影动画电影动画。注意:该函数只能应用于索引图像只能应用于索引图像,所以,如果希望将其他类型的图像阵列转换为电影动画,则首先必须将该图像类型转换为索引类型。例:例:mov=immovie(D,map);movie(mov)(3)图像上的区域缩放;图像上的区域缩放;利用zoom命令命令可实现图像上的任意区域的缩放。在命令行中输入在命令行中输入下面的代码:zoom on 回车回车执行后,matlab的图形窗口对象进入区域缩进入区域缩放状态放状态。此时,按下鼠标左键按下鼠标左键,拖动鼠标指示,则图形窗口中将出现以虚线框表示的选择矩形选择矩形。松开鼠标键松开鼠标键后,则该选中的区域将被放大到整个图形窗口的显示空间。在放大区域中单击鼠标右键单击鼠标右键可将刚刚放大的图形恢复到原来的状态恢复到原来的状态。如果命令行输入下面的代码:zoom off 则可关闭关闭图形窗口的缩放功能。例例:load mri montage(D,map);zoom on zoom off(4)纹理映射纹理映射在Matlab中,专门提供了一个对图像进行纹理映对图像进行纹理映射处理函数射处理函数warp,使之显示在三维空间中。Wrap函数的语法格式语法格式如下:warp(X,map)warp(I,n)warp(BW)warp(RGB)warp(z,)warp(x,y,z,)h=warp()在Matlab中,纹理映射纹理映射是利用双线性渐变算法利用双线性渐变算法将图像映射到某个表面栅格上。例例:x,y,z=cylinder;I=imread(autumn.tif);warp(x,y,z,I);%将将autumn.tif映射到圆柱体表面上映射到圆柱体表面上。有时图像可能不是按照所期望的形式进行纹理映射的,此时可以对纹理映射的外观进行修改,其方法之一就是修改坐标轴的Xdir、Ydir和Zdir属性值。(5)显示多幅图像。显示多幅图像。MATLAB没有对用户想要同时显示的图像数目进行限制,然而,由于受计算机硬件配置的影响,图像显示数目通常会存在一些系统限制。显示多幅图像显示多幅图像最简单的方法就是在不同的图形窗在不同的图形窗口中显示它们口中显示它们。imshow函数函数总是在当前窗口中显示一幅图像,如果想同时显示两幅图像,那么第二幅图像就会替代第一幅图像。为了避免图像在当前窗口中的覆盖现象,在调imshow函数之前可使用figure命令命令来创建一个新的空图形窗口。例例:imshow(I)figure,imshow(I2)figure,imshow(I3)当采用该方法时,创建的图形窗口初始化是空白空白的的。如果使用的是8位位显示系统,那么必须确保调色板入口的总数不超过不超过256。注意:注意:灰度图像总是使用调色板来进行显示的,所以这些图像所使用的颜色通道总数不能超过256。为了避免产生避免产生同时显示图像的不正确的显示结果不正确的显示结果:1)可采用对调色板进行操作的方法,使之使用较少使用较少的颜色的颜色2)将图像转换为将图像转换为RGB格式格式再进行显示显示3)使用使用ind2rgb函数函数将索引图像转换为RGB图像:imshow(ind2rgb(X,map)4)简单使用使用cat命令命令将一幅灰度图像灰度图像显示为一幅RGB图像图像:imshow(cat(3,I,I,I)可以采用两种方法将多幅图像显示在同一个单独将多幅图像显示在同一个单独的图形窗口中的图形窗口中。联合使用imshow函数函数和subplot函数函数;联合使用subimage函数函数和subplot函数函数;subplot函数函数将一个图形窗口划分为多个显示区域,其语法格式为:subplot(m,n,p)这种格式将图形窗口划分为划分为mn个矩形显示区域个矩形显示区域,并激活第激活第p个显示区域个显示区域。例:例:如果希望并排显示两幅图像并排显示两幅图像,可使用以下语句:X1,map1=imread(forest.tif);X2,map2=imread(trees.tif);subplot(1,2,1),imshow(X1,map1);subplot(1,2,2),imshow(X2,map2);若共享调色板共享调色板出现的显示结果不令人满意不令人满意,使用subimage函数函数来显示,在装载图像时将所有图像映射到同一个调色板中将所有图像映射到同一个调色板中,这个调色板不是共享调色板情况下所采用的某一幅图像的调色板,而是映射后包含所有图像调色板信息的一个新调色板。subimage函数函数在显示图像之前首先将图像转换为RGB图像,因此不会出现调色板问题。该函数的语法格式为:subimage(X,map)%在一个窗口里显示多个索引索引图像subimage(I)%在一个窗口里显示多个灰度灰度图像subimage(RGB)%在一个窗口里显示多个真彩色真彩色图像subimage(x,y,)%将图像按指定的坐标系(x,y)显示H=subimage()%返回图像对象的句柄,%其中输入的图像可以是uint8或double类型以下代码将显示与上面同样的两幅图像,其程序清单为:X1,map1=imread(forest.tif);X2,map2=imread(trees.tif);subplot(1,2,1),subimage(X1,map1);subplot(1,2,2),subimage(X2,map2);3.3.3 图像显示中的常见问题图像显示中的常见问题(1)彩色图像显示为灰度图像彩色图像显示为灰度图像图像可能是一幅索引图像,这就意味显示这幅图像需要一个调色板。产生这个问题的原因可能是在装载索引图像时函数的调用方法不正确,正确调用格式如下:X,map=imread(filename.ext);另外,还有注意使用imshow函数的正确形式:imshow(X,map)(2)二值图像显示为全黑图像二值图像显示为全黑图像 使用使用islogical或whos命令检查检查该图像矩阵的逻逻辑标志是否置为辑标志是否置为on。如果图像是逻辑的是逻辑的,那么whos命令将在类型头部单词array后面显示后面显示logical。如果二值图像是自己创建的是自己创建的,那么产生这个问题的原因可能是图像类型为uint8,记住uint8类型类型有灰度图像变换范围是0,255,而不是0,1。(3)装载的是多帧图像,但是装载的是多帧图像,但是MATLAB却仅仅显示却仅仅显示一帧图像一帧图像 必须单独装载多帧图像的每一帧必须单独装载多帧图像的每一帧,可以使用一个使用一个for循环来实现循环来实现。可以先调用imfinfo函数获知图像帧数和图像维数。3.4 图像运算图像运算3.4.1 图像的点运算图像的点运算点运算点运算(对比度增强对比度增强、对比度拉伸对比度拉伸、灰度变换灰度变换):是一种通过对对图像中的每个像素每个像素(即像素点上的灰度值)进行计算进行计算,从而改善图像显示效果改善图像显示效果的操作。点运算常用于改变图像的灰度范围及分布改变图像的灰度范围及分布,是图像数字化及图像显示的重要工具。典型的点运算应用典型的点运算应用包括:光度学标定光度学标定:通过对对图像传感器的非线性特性做非线性特性做出补偿出补偿来反映某些物理特性反映某些物理特性,如光照强度、光密度等;对比度增强对比度增强:调整图像的亮度、对比度,以便观察;显示标定显示标定:利用点运算使得图

    注意事项

    本文(第2章 MATLAB图像处理工具箱.ppt)为本站会员(hyn****60)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    收起
    展开