Matlab图像处理的变换以及运算.ppt_第1页
Matlab图像处理的变换以及运算.ppt_第2页
Matlab图像处理的变换以及运算.ppt_第3页
Matlab图像处理的变换以及运算.ppt_第4页
Matlab图像处理的变换以及运算.ppt_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

,2图像处理工具箱简介,Matlab是一种基于向量(数组)而不是标量的高级程序语言,因而Matlab从本质上就提供了对图像的支持。数字图像实际上就是一组有序离散的数据,使用Matlab可以对这些离散数据形成的矩阵进行一次性的处理。Matlab对图像的处理功能主要集中在它的图像处理工具箱(ImageProcessingToolbox)中。图像处理工具箱是由一系列支持图像处理操作的函数组成,可以进行图像的读取、显示、写入、信息查询等基本操作,还可以进行图像变换、图像分析与图像增强、图像复原以及压缩编码等操作。,图像的数据类型,在缺省的情况下,Matlab将图像中的数据存储为双精度类型(double),即64bit浮点数。这种存储方法的优点在于,使用中不需要数据类型的转换,因为几乎所有的Matlab及其工具箱函数都可以使用double作为参数类型。然而对于图像存储来说,用64bit表示图像数据会导致巨大的存储量,所以Matlab还支持图像数据的另一种类型无符号整型(uint8),即图像矩阵中的每个数据占用1个字节。Matlab及工具箱中的大多数操作及函数(比如最基本的矩阵相加)都不支持uint8类型。uint8的优势仅在于节省存储空间,在涉及运算时将其转换成double型。,本次实验的目标,1.掌握MATLAB中图像的基本类型;2.图像的读取、写入、信息查询与显示。,2.1图像处理工具箱所支持的图像类型,图像处理工具箱支持4种图像类型,它们是:真彩色图像(RGBimages)索引色图像(indeximages)灰度图像(intensityimages)二值图像(binaryimages),1.真彩色图像,真彩色图像用R、G、B3个分量表示1个像素的颜色,所以对1个尺寸为mn的真彩色图像来说,其数据结构就是一个mn3的多维数组。如果要读取图像中(100,50)处的像素值,可以查看三元组(100,50,13).真彩色图像可用双精度存储,此时亮度值的范围是0,1。比较符合习惯的存储方法是用无符号整型存储,亮度值的范围为0,255。,图2.2真彩色图像的结构,2.索引色图像,索引图像是把像素值直接作为调色板下标的图像。Matlab中的索引色图像包含2个结构,一个是调色板map;另外一个是图像数据矩阵X。调色板是一个有3列和若干行的色彩映像矩阵,矩阵的每行都代表一种色彩,通过3个分别代表红、绿、蓝颜色强度的双精度数,形成一种特定的颜色。图像数据可以是uint8或是双精度的。需要注意的是Matlab中的调色板的色彩强度是0,1中的浮点数,0代表最暗,1代表最亮。,图2.3索引色图像的结构,3.灰度图像,存储灰度图像只需要一个数据矩阵,数据类型可以是double,值域为0,1,也可以是uint8,值域0,255。存储时不使用调色板,会使用一个默认的调色板来显示图像。,4.二值图像,与灰度图像相同,二值图像只需一个数据矩阵,每个像素只有2个灰度值。二值图像可以采用uint8或double类型存储,工具箱中以二值图像作为返回结果的函数都使用uint8类型。,2.2图像文件的读写和查询,Matlab为用户提供了特殊的函数,用于从图像格式的文件中读写图像数据。其中,读取图形文件格式的图像需要用imread函数;写入一个图形文件格式的图像需要调用imwrite函数;获取图像的信息需要调用imfinfo;以Mat文件加载或保存矩阵数据用loadsave函数;显示加载到Matlab中的图像用imshow。,图像文件的读写和查询,1.图形图像文件的读取利用函数imread可以完成图形图像文件的读取操作,其语法如下:一般:A=imread(filename,fmt)索引图像:X,map=imread(filename,fmt),X,map=imread(m83.tif,tif),2.图形图像文件的写入(保存),利用imwrite函数可以完成图形图像文件的写入操作,其语法如下imwrite(A,filename,fmt)imwrite(X,map,filename,fmt)当利用imwrite函数保存图像时,Matlab缺省的保存方式就是将其简化到uint8的数据格式。在Matlab中使用的许多图像都是8bit,并且大多数的图像文件并不需要双精度的浮点数据。,imwrite(X,map,lena.bmp,bmp),3.图形图像文件信息的查询,Matlab提供了imfinfo函数用于从图像文件中查询其信息。所获取的信息依文件类型的不同而不同。但是不管哪种类型的图像文件,至少包含下面的内容。文件名。(如果该文件不在当前路径下,还包含该文件的完整路径。)文件格式。文件格式的版本号。文件修改时间。文件的字节大小。图像的宽度(像素)。图像的长度(像素)。每个像素的位数。图像类型。即该图像是RGB(真彩)图像、灰度图像还是索引图像。,查询图像信息,imfinfo(autumn.tif),2.3图像文件的显示,Matlab7.0图像处理工具箱提供了一个高级的图像显示函数imshow。其语法格式为灰度图像imshow(I)imshow(I,n)imshow(I,lowhigh)二值图像imshow(BW)索引图像imshow(X,map)真彩色图像imshow(RGB),前三种调用格式用来显示灰度图像,其中n为灰度级数目,缺省值为256。lowhigh为图像数据的值域。,索引图像包括一个数据矩阵X,一个颜色映像矩阵map。其中map是一个p3的数据矩阵,其每个元素的值均为0,U之间双精度浮点型数据。map矩阵的每一行分别表示红色、绿色和蓝色的颜色值。而数据矩阵X可以是double和uint8型的,调用格式如下:imshow(X,map),1.索引图像及其显示,2灰度图像及其显示,imshow函数显示灰度图像(1)灰度图像显示最基本的调用格式如下:imshow(I)Matlab7.0中imshow函数使用一个灰度级系统调色板(R=G=B)来显示灰度图像。如果I是double型,若像素值为0.0,则显示为黑色,1.0则显示为白色,0.0和1.0之间的像素值将显示为灰影。,灰度图像及其显示,(2)imshow函数显示灰度图像的另一种调用格式是使用明确指定的灰度级数目。imshow(I,n)例如,以下语句将显示一幅32个灰度级的图像I:imshow(I,32),灰度图像及其显示,(3)为了将超过数据范围的数据显示为图像,用户可以直接定义数据范围,其调用格式:imshow(I,lowhigh)其中low,high分别为数据的最大和最小值。如果用户使用一个空矩阵指定数据范围,imshow将自动进行数据标度。,3.RGB图像及其显示,用imshow函数显示RGB图像基本的调用格式如下:imshow(RGB)参数RGB是一个mn3的数组。对于RGB中的每一个像素(r,c),imshow显示数值(r,c,13)所描述的颜色。每个屏幕像素使用24位颜色系统能够直接显示真彩图像,系统给每个像素的红、绿、蓝颜色分量分配8位(256级)。,4.二进制图像及其显示,显示二进制图像用如下语句:imshow(BW);在Matlab7.0中,二进制图像是一个逻辑类,仅包括0和1两个数值,像素0显示为黑色,像素1显示为白色。在显示时,也可以通过NOT()命令,对二进制图像进行取反,使数值0显示为白色,1显示为黑色。例如使用BW=imread(circles.png);imshow(BW);imshow(BW)命令形式,显示的结果如图所示。,二进制图像显示效果,5.直接从磁盘显示图像,通常,在显示一幅图像前首先要调用imread函数装载图像,将数据存储为Matlab7.0工作平台中的一个或多个变量。但是,如果不希望在显示图像之前装载图像,则可以使用以下命令格式直接进行图像文件的显示:imshowfilename其中,filename为要显示的图像文件的文件名。,imshowrice.pngImshow(rice.png),6.多幅图像的显示,(1)创建新的图像窗口,每个图像显示在一个窗口中。figure,imshow功能:新建一个图像窗口,用于显示新图像(从而不让新的图像覆盖原来图像),多幅图像文件的显示,调用imshow函数显示图像,如下图所示。I=imread(rice.png)J=filter2(12;-1-2,I)%用模板12;-1-2对图像滤波imshow(I)figure,imshow(J,),思考:如果没有figure的话,将产生什么结果?,用imshow显示滤波前后的图像,多幅图像文件的显示,(2)用子图,多个图像显示在一个图像窗口中。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);,子图显示效果,7.多帧图像的电影片段,一般来说一个tif的图像文件包含有多帧的图像。我们一般用immovie来实现创建电影片段的功能,比如说,一下调用将根据多帧索引图像X创建

温馨提示

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

评论

0/150

提交评论