MATLAB应用图像处理 第二版 教学课件 ppt 作者 胡晓军_ 第2章

上传人:E**** 文档编号:89348185 上传时间:2019-05-23 格式:PPT 页数:163 大小:7.52MB
返回 下载 相关 举报
MATLAB应用图像处理 第二版 教学课件 ppt 作者 胡晓军_ 第2章_第1页
第1页 / 共163页
MATLAB应用图像处理 第二版 教学课件 ppt 作者 胡晓军_ 第2章_第2页
第2页 / 共163页
MATLAB应用图像处理 第二版 教学课件 ppt 作者 胡晓军_ 第2章_第3页
第3页 / 共163页
MATLAB应用图像处理 第二版 教学课件 ppt 作者 胡晓军_ 第2章_第4页
第4页 / 共163页
MATLAB应用图像处理 第二版 教学课件 ppt 作者 胡晓军_ 第2章_第5页
第5页 / 共163页
点击查看更多>>
资源描述

《MATLAB应用图像处理 第二版 教学课件 ppt 作者 胡晓军_ 第2章》由会员分享,可在线阅读,更多相关《MATLAB应用图像处理 第二版 教学课件 ppt 作者 胡晓军_ 第2章(163页珍藏版)》请在金锄头文库上搜索。

1、第2章 MATLAB图像的显示与运算,2.1 数字图像 2.2 MATLAB图像文件格式 2.3 图像的读写 2.4 图像的显示 2.5 特殊图像显示技术 2.6 图像类型转换 2.7 图像的直方图 2.8 图像的点运算 2.9 图像的代数运算 习题,2.1 数 字 图 像,2.1.1 图像数字化 当用数学方法描述一幅图像时,图像可以表达成二维连续函数的形式。例如,一幅图像可以被看成是空间各个坐标点上光强度的集合。其最普遍的数学表达式为 (2.1) 其中,x、y、z是空间坐标,是波长,t是时间,I是图像点的光强度。,图2.1 图像数字化,采样就是把在时间上和空间上连续的图像变换成为离散的采样点

2、(即像素)集的一种操作。由于图像是一种呈二维分布的信息,为了对它完成采样操作,就需要先将二维信号变为一维信号,再对一维信号进行采样。具体做法是:先沿垂直方向,以一定间隔由上到下顺序地沿水平方向按直线扫描的方式,取出各水平行上的灰度值形成一维扫描线,之后再对该一维扫描线信号按一定间隔采样得到离散信号。,也就是先沿垂直方向采样,再沿水平方向采样以完成采样操作。对于运动图像(时间域的连续图像),还需先在时间轴上采样,即先在时间轴上采样,再沿画面垂直方向采样,最后再沿画面水平方向进行采样,从而完成采样操作。若采样结果每行(横向)像素为M个,每列(纵向)像素为N个,则整幅图像大小为MN个像素。,在进行采

3、样时,采样间隔的选取是一个非常重要的问题,它决定了采样后的图像真实地反映原图像的程度。或者说,采样间隔大小的选取要根据原图像中包含的浓淡变化的程度来确定。一般来说,图像中细节越多,则采样间隔越小。根据一维采样定理,若一维信号g(t)的最大频率为,且以T1/2为间隔进行采样后,则根据采样结果g(iT),i = ,-1,0,1,能完全恢复g(t)。,经过采样,模拟图像已在时间、空间上离散化为像素。但采样结果所得的像素值(浓淡值或灰度值)仍是连续量。把采样后所得的这些连续量表示的像素值离散化为整数值的操作叫量化。即若连续浓淡(灰度)值用I表示,则对于满足I0II0 + 1的I值都量化为整数值I0,I

4、0称为像素的灰度值。I与I0的差称为量化误差。量化后灰度值存储的位数(Bit)称为图像的灰度级。一幅数字化后的图像,其总数据量是:每行像素数(M) 每列像素数(N) 灰度量所占用的位数(Bit)。,2.1.2 MATLAB中的数字图像 MATLAB中图像的基本数据结构是矩阵,图像矩阵的元素值为图像的强度值或者颜色值。MATLAB中的图像大多数为二维矩阵,矩阵中的每一个元素对应图像中的单个像素点。如分辨率为200300的灰度图像在MATLAB中的对应用200300的矩阵存储而彩色图像则需要用2003003的三维矩阵表示,其中第三维的第一个分量代表红色,第二个分量代表绿色,第三个分量代表蓝色。MA

5、TLAB中灰度图像的矩阵表示法为,f (x,y) =,(2.3),图像的坐标是描述图像中点的位置的方法。MATLAB中最为常用的方法是利用像素点坐标来指定图像中点的位置。在像素点坐标系中,图像被看做离散元素网格,如图2.2所示,从上向下、从左到右编号。像素点坐标系中的坐标值为整数,且大于1,小于矩阵的行数和列数。行从上向下递增,列从左向右递增。,图2.2 图像的像素点坐标系,像素点坐标系与MATLAB中矩阵索引之间存在着一一对应的关系。这种对应关系使得图像存储矩阵和图像显示之间的关系易于理解。如位于第五行、第二列的像素在矩阵中的存储位置索引为(5,2),且可以用此索引获取该像素点的灰度值。,在

6、图像的空间坐标系中,任意像素点被看做一个离散的单元,由对应的坐标对表示。从这个角度看,诸如(5.3,2.2)的位置就是没有意义了。也可以将像素看成一个方格,从这个角度看,诸如(5.3,2.2)的位置就是有意义的,且与(5,2)的意义不同。图像的空间坐标系与平面的直角坐标系类似,可以用x和y来表示。但如图2.3所示,不同的是在图像的空间坐标系中y坐标是从上向下递增的。,图2.3 图像的空间坐标系,2.2 MATLAB图像文件格式,MATLAB支持以下几种图像文件格式(可以调用imformats函数查询MATLAB支持的所有图像文件格式),具体如表2.1所示。,表2.1 MATLAB支持的图像文件

7、格式,续表,2.3 图 像 的 读 写,2.3.1 文件信息查询 在MATLAB中,要查询一个图像文件的信息,只要用imfinfo指令加上文件名及其完整路径名即可。函数调用格式如下: info = imfinfo(filename, fmt) info = imfinfo(filename) info = imfinfo(URL, ),参数fmt对应于图像处理工具箱支持的所有图像文件格式,参见表2.1。第三种调用方式为对网络图像的支持形式,如“http:/”等。 文件的具体信息与文件格式紧密相关,但不管哪种格式,imfinfo函数返回的前九项内容如表2.2所示。,表2.2 文件的具体信息域说明

8、,例如,查询MATLAB安装路径下,R2008atoolboximagesimdemos目录中的图像文件concordaerial.png的信息,可以用如下的调用格式:,Width: 3060 Height: 2036 BitDepth: 24 ColorType: truecolor FormatSignature: 137 80 78 71 13 10 26 10 Colormap: Histogram: InterlaceType: none Transparency: none SimpleTransparencyData: BackgroundColor: RenderingInte

9、nt: Chromaticities: Gamma: XResolution: ,YResolution: ResolutionUnit: XOffset: YOffset: OffsetUnit: SignificantBits: ImageModTime: 12 Feb 2001 17:16:53 +0000 Title: Author: Description: Truecolor aerial photograph courtesy of mPower3/Emerge.,Copyright: CreationTime: Software: Disclaimer: Warning: So

10、urce: Comment: OtherText: ,2.3.2 图像文件读取 MATLAB用imread函数从图像文件中读取数据。imread的常见调用格式如下: A = imread(filename, fmt) imread函数的作用是将文件名为filename且扩展名为fmt图像文件中的数据读到矩阵A中。如果filename所指的为灰度级图像,则A为一个二维矩阵;如果filename所指的为RGB图像,则A为一个m n 3的三维矩阵。filename表示的文件名必须在MATLAB的搜索路径范围内,否则需指出其完整路径。,imread的其它几种重要的调用格式如下: X, map = im

11、read(filename,fmt) %读入图像filename并将与它相关的图像色彩信 %息写入map = imread(filename) = imread(URL, ) %从URL处读取图像,URL 必须包含协议(即“http:/“) = imread(, idx) %仅适用于cur、ico和tiff格 式的图像, = imread(,frames, idx) %仅适用于gif格式的图 像 = imread(, ref) %仅适用于hdf格式的图像 = imread(, BackgroundColor, BG) %仅适用于 png格式的图像 = imread(, PixelRegion,

12、 ROWS, COLS)% 仅适 用于tiff格式的图像 A,map,alpha = imread() %仅适用于ico、cur和 png格式的图像,上面一些参数的含义如下:“idx”是指读取图像格式为cur、ico、tiff、gif的文件中第idx个图像,默认值为1。“frame,idx”是指读取gif文件中的图像帧,“idx”值可以是数量、向量或all。“ref”是一个整数值,默认值为1,用于读取多幅hdf图像的第ref幅图像。“BackgroundColor,BG”为背景色。“PixelRegion,ROWS,COLS”为读取tif文件中由ROWS和COLS包含的标签所组成的子图像。al

13、pha是透明度。 大多数图像的灰度级为8位或更多,当把这些图像数据加载到内存中时,MATLAB会根据不同的文件类型将其保存为不同的数据类型,具体如表2.3所示。,表2.3 文件读入后的存储格式,2.3.3 图像文件写入 在MATLAB中可调用imwrite函数来存储图像文件,调用格式如下: imwrite(A,filename,fmt) %将图像A写入图像文件 filename imwrite(X,map,filename,fmt) %将X和它的相关色彩信息 map写入filename,imwrite(.,filename) %将图像写入图像文件filename,并推 测可能的格 %式用来作为

14、filename的扩展名。扩展 名必须是 %fmt中一合法名,imwrite(.,param1,val1,param2,val2,.)%不同的参数控制输出 文件的各种不同特征。 %参数要是当前所支持 的hdf、jpeg、tiff、png、 % pbm、pgm和ppm文 件,具体的输出特性参 %见MATLAB用户手册,在MATLAB中,默认的存储类型是uint8。由于png和tiff格式支持16位的图像,所以保存这类图像时,存储类型就是uint16。,2.3.4 图像文件格式转换 MATLAB中,可以通过读写文件的方式改变图像文件的存储格式。方法是首先用函数imread读取图像文件,然后再用函数

15、imwrite以适当的格式保存文件以完成图像文件格式的转换。例如,将png格式的文件转换成bmp文件: pngmap = imread(concordaerial.png); imwrite(pngmap, bmpmap.bmp, bmp);,另外,可运用cat指令将灰度图像I转换成RGB图像。cat函数可以把一些单一的图像合并成图像序列。在图像序列中每个图像需有相同的大小,如果是索引图像,色图也要一致。,2.4 图 像 的 显 示,图像处理工具箱包含两个图像显示函数,分别为imshow和imtool。这两个函数都在图形句柄体系中工作,也就是说它们创建的句柄图形图像对象包含在figure图像中的一个轴对象内。imshow是工具箱中图像显示的基础函数。可以调用imshow函数来显示工具箱所支持的任意图像,如二值、灰度、真彩或者索引图像。 函数imshow的调用方法有如下几种:,imshow(I) imshow(I, low high) imshow(RGB) imshow(BW) imshow(X,map) imshow(filename) himage = imshow(.) imshow(., param1, val1, param2, val2, .) 上述的调用方法的详细使用方法将在以下小节进行说明。另外,用户可以调用iptsetpre

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

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号