




免费预览已结束,剩余69页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章图像灰度变换,Matlab对图像的处理功能主要集中在它的图像处理工具箱(ImageProcessingToolbox)中。图像处理工具箱是由一系列支持图像处理操作的函数组成,可以进行诸如几何操作、线性滤波和滤波器设计、图像变换、图像分析与图像增强、数学形态学处理等图像处理操作。,图像处理工具箱主要有:,ImageAcquisitionToolbox(图像采集工具箱)ImageProcessingToolbox(图像处理工具箱)SignalProcessingToolbox(信号处理工具箱)WaveletToolbox(小波分析工具箱)StatisticsToolbox(统计工具箱)BioinformaticsToolbox(生物信息学工具箱),4.1MATLAB图像处理程序的特点,上手容易,开发周期短,见效快。程序代码编写量明显较小有专门的图像处理工具箱MATLAB程序不能脱离MATLAB平台而独立存在,4.2图像处理工具箱的图像类型,图像处理工具箱支持4种图像类型,它们是:真彩色图像(RGBimages)索引色图像(indeximages)灰度图像(intensityimages)二值图像(binaryimages)Matlab还支持由多帧图像组成的图像序列,真彩色图像,真彩色图像用R、G、B3个分量表示1个像素的颜色,数据结构是一个mn3的多维数组。如果读取图像中(100,50)处像素值,可以查看三元组(100,50,1:3)。真彩色图像可用双精度存储,亮度值范围是0,1常用存储方法是无符号整型存储,亮度值范围为0,255,图1真彩色图像的结构,真彩色图像数据格式,RGB图像的表示方法-三幅分量图像合成,索引色图像,索引图像是把像素值作为RGB调色板下标的图像。索引色图像包含2个结构,一个是调色板map;另一个是图像数据矩阵X。调色板是一个有3列和若干行的色彩映像矩阵,矩阵每行代表一种色彩,通过3个分别代表红、绿、蓝颜色强度的双精度数,形成一种特定颜色。图像数据是uint8或是双精度的。Matlab中调色板的色彩强度是0,1中的浮点数,0代表最暗,1代表最亮。,图2索引色图像的结构,索引图像的数据格式,索引图像的double与uint8型,double,uint8,图像数据,调色板,索引图像的表示方法,读入一幅索引图像的语句如下:X,map=imread(trees.tif);显示一幅索引图像,可使用语句:imshow(X,map)或者:image(X)%用系统当前的颜色表显示索引图像colormap(map)%将系统当前颜色表设置为map,举例:X,map=imread(trees.tif);image(X)其效果等同于:imshow(X,colormap),举例:X,map=imread(trees.tif);image(X)colormap(map);其效果等同于:imshow(X,map),MATLAB提供了一些预定义的彩色表,imshow(X,hsv),imshow(X,autumn),imshow(X,copper),imshow(X,gray(64),灰度图像,存储灰度图像只需要一个数据矩阵,数据类型可以是double也可以是uint8。存储时会使用一个默认的调色板来显示图像。,二值图像,与灰度图像相同,二值图像只需一个数据矩阵,每个像素只有2个灰度值。可以采用uint8或double类型存储,工具箱中以二值图像作为返回结果的函数都使用uint8类型。,图像序列,图像处理工具箱支持将多帧图像连接成图像序列。使用cat函数将分散图像合并成图像序列,前提是各图像尺寸必须相同。将A1、A2、A3、A4、A5五幅图像合并成一个图像序列A,Matlab语句为A=cat(1,A1,A2,A3,A4,A5),1维,纵向排列A=cat(2,A1,A2,A3,A4,A5),2维,横向排列A=cat(3,A1,A2,A3,A4,A5),3维,竖向排列,图像序列也可以产生一个四维数组,图像帧的序号在图像的长、宽、颜色后构成第四维。一个包含了5幅400300真彩色图像的序列,大小为40030035一个包含了5幅400300灰度或是索引图像的序列,其大小为40030015A=cat(4,A1,A2,A3,A4,A5),4维提取其中一帧(如第2帧):A(:,:,:,2),4.3Matlab图像类型转换,索引图像,灰度图像,真彩图像,二值图像,数据矩阵,1.dither函数,功能:图像抖动把RGB图像转换成索引图像把灰度图像转换成二值图像。格式:X=dither(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);,2.gray2ind函数,功能:将灰度图像转换成索引图像。格式:X,map=gray2ind(I,n)n的缺省值为64。,I=imread(cameraman.tif);X,map=gray2ind(I,16);subplot(121),imshow(I);subplot(122),imshow(X,map);,3.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是一个归一化阈值,取值在0,1。,4.im2bw函数,I=imread(autumn.tif);X=im2bw(I,0.5);imshow(I);figure,imshow(X);,功能:将索引图像转换成灰度图像。格式:I=ind2gray(X,map),5.ind2gray函数,功能:将索引色图像转换成真彩色图像。格式:RGB=ind2rgb(X,map)例:I,map=imread(m83.tif);X=ind2rgb(I,map);imshow(I,map);figure,imshow(X);,6.ind2rgb函数,功能:将一个数据矩阵转换成一幅灰度图像。格式:I=mat2gray(A),7.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=imread(autumn.tif);X,map=rgb2ind(RGB,128)imshow(RGB);figure,imshow(X,map);,9.rgb2ind函数,4.4图像文件的读写和查询,imread:读取图形文件格式的图像;imwrite:写入图形文件格式的图像;imfinfo:获取图像的信息;loadsave:以Mat文件加载或保存矩阵数据;imshow:显示加载到Matlab中的图像。,函数imread可完成图形图像文件的读取操作,其语法如下一般:A=imread(filename,fmt)索引图像:X,map=imread(filename,fmt),X,map=imread(m83.tif,tif),1图形图像文件的读取,imdata=imread(ngc6543a.jpg);image(imdata),imread函数可以从图形文件中以特定位宽读取图像。读取的大多数图像均为8bit。加载到内存中时,就存储在类uint8中。对于索引图像来说,即使图像阵列的本身为uint8或uint16,imread函数仍然将颜色映像表读取并存储到一个双精度的浮点类型阵列中。,2图形图像文件的写入(保存),imwrite函数可以完成图形图像文件的写入操作,其语法为:imwrite(A,filename,fmt)imwrite(X,map,filename,fmt)缺省的保存方式:uint8数据格式。Matlab中许多图像都是8bit,不需要双精度的浮点数据。,imwrite(X,map,lena.bmp,bmp),A=imread(onion.png);B=A(50:100,100:150,:);imwrite(B,onion-part.png)C=imread(onion-part.png);subplot(1,2,1)image(A);axisimage;title(全部)subplot(1,2,2)image(C);axisimage;title(部分),3图形图像文件信息的查询,imfinfo函数用于从图像文件中查询其信息。所获取信息依文件类型不同而不同,至少包含下面内容文件名文件格式文件格式的版本号文件修改时间文件的字节大小图像的宽度(像素)图像的长度(像素)每个像素的位数图像类型(RGB图像、灰度图像还是索引图像),imfinfo(autumn.tif),info=Filename:1x64charFileModDate:01-十月-199616:19:44FileSize:27387Format:jpgFormatVersion:Width:600Height:650BitDepth:24ColorType:truecolorFormatSignature:NumberOfSamples:3CodingMethod:HuffmanCodingProcess:SequentialComment:1x69char,4图像文件的显示,图像显示函数imshow。其语法格式如下灰度图像imshow(I)imshow(I,n)imshow(I,lowhigh)二值图像imshow(BW)索引图像imshow(X,map)真彩色图像imshow(RGB),其中n为灰度级数目,缺省值为256。lowhigh为图像数据的值域。,索引图像及其显示,索引图像包括数据矩阵X和颜色映像矩阵map。其中map是一个p3的数据矩阵,其每个元素的值均为0,1之间双精度浮点型数据。map矩阵的每一行分别表示红色、绿色和蓝色的颜色值。而数据矩阵X可以是double和uint8型的,调用格式如下:imshow(X,map),例如一幅包含256色的uint8索引图像,使用一个仅有16色的调色板显示,则所有数值大于或等于15的像素都将被显示为调色板的最后一个颜色。,借助不同的调色板显示图像,X=imread(cameraman.tif);map=pink(256);imshow(X,map);colorbar;%显示颜色条,灰度图像及其显示,一幅灰度图像是一个数据矩阵I,其中数据均代表了在一定范围内的颜色灰度值。Matlab把灰度图像用数据矩阵的形式进行存储,每个元素则表示了图像中的每个像素。矩阵元素可以是doudle、uint8整数类型。多数情况下,灰度图像很少和颜色映像表一起保存,但在显示灰度图像时,Matlab仍然在后台使用系统预定义的缺省灰度颜色映像表。,(1)灰度图像显示最基本的调用格式imshow(I)Matlab中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)某些情况下,可能将一些超出数据惯例范围的数据显示为一幅灰度图像,对于double型数组为0,1,对于uint8型数组为0,255,为了将超过数据范围的数据显示为图像,用户可以直接定义数据范围,其调用格式如下,imshow(I,lowhigh)其中low、high分别为数据的最小和最大值。如果用户使用一个空矩阵指定数据范围,imshow将自动进行数据标度。,RGB图像及其显示,imshow函数显示RGB图像的调用格式如下,imshow(RGB)参数RGB是mn3的数组。imshow显示数值(r,c,13)所描述颜色像素(r,c)。每个屏幕像素使用24位颜色系统直接显示真彩图像,系统给每个像素的红、绿、蓝颜色分量分配8位(256级),这样就有1000多万种颜色(224)。,二值图像及其显示,显示二值图像用如下语句,imshow(BW)二值图像是一个逻辑类,包括0和1两个数值,像素0显示为黑色,像素1显示为白色。通过NOT()命令可对二进制图像取反,数值0显示为白色,1显示为黑色。例:BW=imread(circles.png);imshow(BW);figure,imshow(BW);,二值图像显示效果,直接从磁盘显示图像,通常在显示图像前首先调用imread函数装载图像,将数据存储为Matlab工作平台中的变量。如果不在显示图像前装载图像,则使用以下命令格式进行图像文件显示,imshowfilename,imshowrice.pngimshow(rice.png),多幅图像文件的显示,创建新的图像窗口,每个图像显示在一个窗口中figure,imshow功能:新建一个图像窗口,用于显示新图像(从而不让新的图像覆盖原来图像)。,调用imshow函数显示图像I=imread(rice.png)J=filter2(12;-1-2,I)%用模板12;-1-2对图像滤波imshow(I)figure,imshow(J,),用imshow显示滤波前后的图像,subplot(m,n,k),imshow%绘制并显示m行n列第k
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年湖南财盛国际贸易有限公司公开考前自测高频考点模拟试题及一套参考答案详解
- 2025年UV激光切割机项目发展计划
- Human-MOG-specifying-DNA-生命科学试剂-MCE
- HGS101-生命科学试剂-MCE
- HDAC-IN-91-生命科学试剂-MCE
- 2025年太阳能发电设备项目建议书
- 2025年福建供电服务公司招聘笔试模拟试卷及参考答案详解一套
- 2025年宁夏医科大学总医院自主公开招聘高层次工作人员模拟试卷附答案详解
- 小学保安员安全培训计划课件
- 技术服务合同的核心内容
- JJG 20-2001标准玻璃量器
- 2024外研版初中英语单词表汇总(七-九年级)中考复习必背
- 《大数据平台部署与运维》课程标准(含课程思政)
- CT检查设备十大品牌简介
- 英语中的时间表达(示范课例)
- 项目产品研发各阶段质量控制输出文件
- 脊柱外科进修汇报
- 《史记》上册注音版
- 苏州大学文学院语言学纲要课程笔记
- 危重症患者护理文书书写规范-课件
- 《学术英语(综合)》课后答案
评论
0/150
提交评论