MATLAB2实.ppt
《MATLAB2实.ppt》由会员分享,可在线阅读,更多相关《MATLAB2实.ppt(73页珍藏版)》请在三一文库上搜索。
1、2. MATLAB 图像处理,2.1图像文件的读写和显示 在MATLAB中,图像文件的读取、写入及显示等都可通过调用函数来实现。常见的函数有:,1,表1(续)图像文件的读写与显示函数,n,1.图像文件的读取 使用函数imread( )可以完成图像文件的读取操作, 其语法格式有以下几种:,说明:该函数可以从MATLAB支持的任何图像文件中以 特定的位宽读取图像,一般图像是8位的,就将其 存在unit8类中,如果是16位的TIFF图像,就将其 保存在unit16中。,例1:读取图像cameraman.tif: X=imread(cameraman.tif),例2:当文件不在MATLAB路径下时:
2、f=imread(D:myimageschestxray.jpg);,2.图像文件的写入 使用函数imwrite( )可以完成图像文件的写入操作, 其语法格式有以下几种:,例:实现图像的写入即图像保存: imwrite(X,man.jpg, jpg);,3.图像的显示 MATLAB7.0中显示图像的方式有两种: 使用MATLAB浏览器;使用通用图形图像视窗 。 使用图像浏览器(Image Viewer): 通过调用imview 函数实现,语法格式: imview(文件名);,例:在MATLAB工作窗口中显示一幅图像 moonfig=imread(moon.tif); imview(moonfi
3、g) (该文件在当前路径下),图像浏览器的基本功能: 窗口中具有提供图像大小信息、图像像素值范围、鼠标所在位置的像素值、图像放大和缩小、图像的区域选择等功能。,通用图形图像视窗 使用函数image( )实现显示图像,,注意:函数image( )为自动设置图像窗口、坐标轴和 图像属性。即MATLAB自动对图像进行缩放 以适合显示区域。,1)可用truesize函数来设定图像像素到屏幕像点的映射关系来更改图像显示大小。 2)有时可能需要显示的纵横比和图形数据矩阵的纵横比相匹配,这时可以使用axis image命令。,上图,例:,(a)默认纵横比下的地球图 (b)纵横比为1:1的地球图,image(
4、 )函数的语法格式: 显示加载到MATLAB中的索引图像: image(X); colormap(map) X和map是索引图像的参数,X为数据矩阵,map为颜色矩阵。 显示加载到MATLAB中的灰度图像: imagesc(I,0 n); colormap(gray),说明: I为灰度图像的数据矩阵, 表示灰度图像的灰度范围,n为整数,如256、128等,系统默认值为256(有些系统为64)。,显示加载到MATLAB中的RGB图像: image(RGB) 例:RGB=imread(flowers.tif); image(RGB);,函数imshow()的语法格式: imshow(X,map):
5、用于显示索引图像,它将矩阵X中 的每个像素显示为存储在颜色影像表map中相 应的行所对应的颜色。,函数imshow()的语法格式: imshow(I,n):用于显示灰度图像,其中I是灰度图的 数据矩阵;n表示灰度级,是整数,如果n默认, 则为256或64级灰度。当n为2时就变成二值图像。,例: A=imread(filename.fmt); imshow(A) 或 imshow (filename.fmt);(该文件在当前目录下),imshow(RGB):用于显示RGB图像。,imshow filename:用于显示可以通过imread函数 读取的图形文件的图像。该图像必须在 当前目录或 MA
6、TLAB目录下。,subimage和subplot函数结合使用可以在同一窗 口中显多幅图像,即使它们的图像类型不同。,subimage()语法格式如下: subimage(X,map):显示索引图像。 subimage(I):显示灰度图像。 subimage(RGB):显示真彩图像RGB。,例:在同一个窗口中显示两幅图像,其中一幅是索引 图像,文件名为woman.mat;另一幅是RGB图像, 文件名lily.tif,并进行标注。,x,map=imread(woman,mat);,2.2 MATLAB 中的图像类型 1.图像处理工具箱支持的基本图像类型 图像处理工具箱支持的图像分为四个基本类型:
7、 索引图像、灰度图像、二值图像和RGB图像。 索引图像:索引图像包括一个数据矩阵(I)和一个颜 色影像表矩阵(Map)。Map矩阵是一个3列若干行的数据阵列,其每一行分别表示红色、绿色和蓝色的颜色值,其值由0,1之间的浮点值构成。图像中的像素颜色由数据矩阵I作为索引指向矩阵Map进行索引。,例如:数据矩阵中的值1指向颜色矩阵Map中的第一行,2指向第二行等。 颜色矩阵表通常和索引图像存储在一起。当用户调用函数imread 时,MATLAB自动将颜色映射表与图像同时加载。颜色映射表可以使用属性CDataMapping来选择,也可以由用户自定义,如不选择即为默认值。,索引图像:,显示一幅索引图像的
8、代码: image(I); colormap(map),索引图像:,例:,灰度图像是一个数据矩阵I,每个元素代表一个像素,I的数据表示在一定范围内的灰度值。I可以是双精度浮点型,其值域为0.0,1.0;也可以是unit8类型,其值域为0,256。 代码显示一幅灰度图像: imagesc(I,0,256); colormap(gray); 例:将灰度图像blood1.tif的256灰度级的灰度图像和 64灰度级的灰度图像显示在同一个窗口中。,两条语句实现显示功能,灰度图像:,图像只包含一个由0和1构成的矩阵,可以保存为双精度double或unit8类型的数组。其显示方式与灰度或索引图像类似。 R
9、GB图像: RGB图像在MATLAB中存储为一个n*m*3的三维数据数组。数组中的元素定义了每一个像素的红、绿、蓝颜色值。因此像素的颜色由保存在像素位置上的红、绿、蓝的强度值的组合来确定。数组可以是双精度浮点型或unit8类型的数组。n、m分别为图像的行列数。,二值图像:,例:RGB=imread(tree.tif); image(RGB);,用代码显示一幅RGB图像: image(RGB),2.图像类型的转换 MATLAB有对四种基本类型的转换函数。 在MATLAB中,各种图像类型之间的转换关系如图:,例:将索引图像“woman”转换为灰度图像,在一 个窗口中显示两幅图像并进行标注。,索引图
10、像转换为灰度图像的函数ind2gray(): 其语法格式为: I=ind2gray(X,map): 将具有颜色图map的索引图像X转换为灰度图像I,X可以是双精度型或unit8型,I是双精度型。,索引图像转换为RGB图像的函数ind2rgb( ) 其语法格式为: RGB=ind2rgb(X,map): 将具有颜色图map的索引图像X转换为彩色图像RGB。,RGB图像转换为索引图像的函数rgb2ind( ): 其语法格式有五种: X,map=rgb2ind(RGB):直接将RGB图像转换为具 有颜色图map的矩阵X。 X,map=rgb2ind(RGB,tol):用均匀量化的方法将 RGB图像转
11、换为索引图像X,tol的范围从 0.0到1.0。,X,map=rgb2ind(RGB,n):使用最小方差量化方 法将RGB图像转换为索引图像X,map中包括 至少n个颜色。,X=rgb2ind(RGB,map):将RGB中的颜色与颜色图 map 中最相近的颜色匹配,将RGB转换为具 有MAP颜色图的索引图。 例:,下图,实例:,RGB图像转换为灰度图像的函数rgb2gray( ) 语法格式有: I=rgb2gray(RGB)表示将输入的RGB图像转换 为灰度图像。 newmap=rgb2gray(map)表示将输入的颜色 图map返回一个等价的灰度图。,转换为二值图像的函数im2bw( ) 该
12、函数通过阈值化方法将索引、灰度和RGB图像转换为二值图像。其语法格式为:,BW=im2bw(I,map,level):将颜色图为map的索引 图像I转换为二值图像。 BW=im2bw(I,level):将灰度图像I转换为二值图像。 BW=im2bw(RGB,level):将RGB图像转换为二值图 像。,彩色-二值 索引-二值,注意:如果输入图像不是灰度图像可以先将其转换为灰度图,再通过阈值化的方法将灰度图转换为二值图。,例: load woman; BW=im2bw(X,map,0.5); imshow (BW); 程序运行结果如图:,灰度图像转换为索引图像的函数gray2ind( ): 其语
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB2
链接地址:https://www.31doc.com/p-2977012.html