ImageVerifierCode 换一换
格式:DOC , 页数:6 ,大小:58.50KB ,
资源ID:4294087      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-4294087.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验二Matlab图像基础.doc)为本站会员(fcgy86390)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

实验二Matlab图像基础.doc

1、实验二 Matlab 图像基础一、实验目的1、了解 matlab 支持的图像文件格式、图像类型和数据类型。2、掌握 MATLAB 中如何实现图像的读写、显示、图像类型的转换。二、实验原理(一)图像文件格式、图像类型和图像数据类型 1MATLAB 支持的几种图像文件格式:1)PCX 格式。可处理 1、4 、8、16、24 位等图像数据。文件内容包括文件头 、图像数据、扩展调色板数据。 2)BMP 格式,即位图文件,整幅图可视为一个数字矩阵。它包括1、4、8、24 位非压缩图像, 8 位 RLE(行程编码)图像。文件内容包含文件头、位图信息数据块和图像数据。选择 BMP 格式保存一幅灰度模式图像时

2、,可选择以 Windows 格式保存。而且在选中 4 位或 8 位位图时,还可选压缩(RLE)项,在用 RLE 方式压缩保存后图像将毫无损失。这是用得最广的图像格式之一,在本文中都对这种格式的图像进行操作。 3)HDF 格式。有 8 位,24 位光栅图像数据集。 4)JPEG 格式。是一种联合图像专家组的图像压缩格式,是目前所用对静止灰度或彩色图像的压缩标准。它实际上定义了 3 种编码系统: a基于 DCT 的有损编码基本系统,可用于绝大多数压缩场合; b用于高压缩比、高精度或渐进重建应用的扩展编码系统; c用于无失真应用场合的无损系统。JPEG 没有规定文件格式、图像分辨率或所用的彩色空间模

3、型,这使它就有可能适用于 MATLAB。 5)TIFF 格式。处理 1、4、8、24 位非压缩图像,1、4、8、24 位 packbit 压缩图像,1 位 CCITT 压缩图像等。文件内容包括:文件头、参数指针表与参数域、参数数据表和图像数据四部分。它是一种用途广泛的文件格式,其特点是可移植性好,几乎所有的扫描仪及在 Windows、Macintosh 平台上常用的版面设计软件都支持 TIFF 文件格式。以这种格式保存的图像文件结构比较复杂,在不压缩存放时文件比较大。 6)XWD 格式。1、8 位 Zpixmaps, Xybitmaps, 1 位 XYPixmaps。 7)TGA 格式。处理

4、1、4、8、16、24 位非压缩图像和行程编码图像。文件包由 5 个固定长度字段和 3 个可变长度字段组成。2MATLAB 支持四种图像类型,即二值图像、索引图像、灰度图像、RGB 图像。1)二值图像:只需要一个数据矩阵,每个像素只取两个离散值中的一个。一个二值图像是以 0(黑色)和 1(白色)的逻辑矩阵存储的。2)索引图像:它的数据信息包括一个数据矩阵 X 和一个双精度色图矩阵MAP,它的数据矩阵中的值直接指定该点的颜色为色图矩阵中的某一种。色图矩阵中,每一行表示一种颜色,每行有三个数据,分别表示该种颜色中红、绿、蓝的比例情况,所有元素值都在0,1内。 3)灰度图像:它的数据矩阵中的元素值一

5、般都在0,1或0,255之间,灰度图像根据这些数据利用线性插值来和色图中的颜色种类匹配。 4)RGB 图像:图像中每个象素的颜色用三个数据来存储,分别指定红、绿、蓝三原色在象素颜色中的比例关系,组成一个三维数组。表 1 图像类型及其对应的像素数据类型图像类型 Double 数据 (双精度浮点类型 ) uint8( 8 位无符号整数类型)和uint16 数据( 16 位无符号整数类型)二值图像 图像为 mn 的整数矩阵,元素值范围0,1 图像为 mn 的整数矩阵,元素值范围0,1 索引图像 图像为 mn 的整数矩阵,元素值范围0,p 图像为 mn 的整数矩阵,元素值范围0,p-1 灰度图像 图像

6、为 mn 的浮点数矩阵,元素值范围0,1 图像为 mn 的整数矩阵,元素值范围0,255或0,65535 RGB 图像 图像为 mn3 的浮点数矩阵,元素值范围0,1 图像为 mn3 的整数矩阵,元素值范围0,255或0,65535 3.MATLAB 中图像的存储运算和显示方式 在 MATLAB 中,数值一般都采用 double 型(64 位)存储和运算,为了节省存储空间,MATLAB 为图像提供了特殊的数据类型 uint8(8 位无符号整数),以此方式存储的图像称为 8 位型图像。函数 image 能够直接显示 8 位图像,但 8 位型数据和 double 型数据在 image 中意义不一样

7、,对于索引图像,数据矩阵中的值指定该像素的颜色种类在色图矩阵中的行数。当数据矩阵中的值为 0 时,表示用色图矩阵中第一行表示的颜色绘制;当数据矩阵中的值为 1 时,表示用色图矩阵中的第二行表示的颜色绘制该像素,数据与色图矩阵中的行数总是相差 1。所以,索引图像 double 型和uint8 型在显示方法上没有什么不同,只是 8 位数据矩阵的值和颜色种类之间有一个偏差 1。对于灰度图像,uint8 表示范围 0,255,double 型表示范围0,1 。可见,double 型和 uint8 型灰度图像不一样。 在编程时图像读入与输出均要求转换为 uint8 型,中间运算处理过程通常要用 doub

8、le 型。 (二)图像的读写、显示、图像类型的转换。1.图像的查询及读写 在 MATLAB 中要查询一个图像文件的信息,只要用 imfinfo 指令加上文件及其完整路径名即可。函数调用格式为:info = imfinfo(filename,fmt)info = imfinfo(filename)参数 fmt 对应于所有图像处理工具箱中所有支持的图像文件格式。imfinfo 函数返回一个结构 info,它反映了该图象的各方面信息,其主要数据包括:文件名(路径)、文件格式、文件格式版本号、文件的修改时间、文件的大小、文件的长度、文件的宽度、每个像素的位数、图象的类型等。例:imfinfo(rice

9、.tif)ans =Filename: C:MATLAB6p5toolboximagesimdemosrice.tifFileModDate: 26-Oct-1996 06:11:58FileSize: 65966Format: tifFormatVersion: Width: 256Height: 256BitDepth: 8ColorType: grayscaleFormatSignature: 73 73 42 0ByteOrder: little-endianNewSubfileType: 0BitsPerSample: 8Compression: UncompressedPhotom

10、etricInterpretation: BlackIsZeroStripOffsets: 8x1 doubleSamplesPerPixel: 1RowsPerStrip: 32StripByteCounts: 8x1 doubleXResolution: 72YResolution: 72ResolutionUnit: InchColormap: PlanarConfiguration: ChunkyTileWidth: TileLength: TileOffsets: TileByteCounts: Orientation: 1FillOrder: 1GrayResponseUnit:

11、0.0100MaxSamplev alue: 255MinSamplev alue: 0Thresholding: 1ImageDescription: 1x166 charMATLAB 提供了两个重要的用于图像文件的读写的指令,分别是从图像文件中读取数据的 imread,以及将数据写入到图像文件中的 imwrite。imread 的常见调用格式为:A = imread(filename,fmt)其作用是将文件名用字符串 filename 表示的,扩展名用 fmt 表示的图像文件中的数据读到矩阵 A 中。如果 filename 所指的为灰度级图像,则 A 为一个二维矩阵;如果 filename

12、 所指的为 RGB 图像,则 A 为一个 mn3 的三维矩阵。Filename 表示的文件名必须在 MATLAB 的搜索路径范围内,否则需指出其完整路径。格式 X,MAP=imread(filename,fmt)其中,X,MAP 分别为读出的图象数据和颜色表数据,是针对索引图像调用的格式。例:X ,MAP=imread (canoe.tif);利用 help 命令了解 imread 的其他调用格式及参数的使用。imwrite 的常用调用格式为:imwrite(A,filename,fmt)imwrite(X,map,filename,fmt)利用 help 命令了解 imwrite 的其他调用

13、格式及参数的使用在 MATLAB 中,默认的保存类型是 uint8。由于 PNG 和 TIFF 格式支持16 位的图像,所以保存这类图像时,保存类型就是 uint16。2. 图像的显示 imshow 函数比 image 和 imagesc 更常用,它能自动设置句柄图像的各种属性。imshow 可用于显示各类图像。常用调用方法如下:imshow (filename): 显示图像文件。imshow(X,map):显示索引图像, X 为索引图像矩阵,map 为色彩图示。imshow(I):可显示二值图像、灰度图像、RGB 图像,I 为对应图像矩阵。imshow(I,low high):将非图像数据显

14、示为图像,这需要考虑数据是否超出了所显示类型的最大允许范围,其中low high用于定义待显示数据的范围。至于多个图像的显示,则可分为两个方法:在不同的图形窗口显示不同的图像,可以用 figure 指令来实现;在同一个图形窗口显示多图,可以用subplot 来实现。其语法格式为:subplot(m,n,p)其作用就是将一个图像显示对话框分成 m 行 n 列,并显示第 p 幅图像。例:I=imread(rice.tif);imshow(I);J=imread(flowers.tif);figure,imshow(J);例 I=imread(rice.tif);subplot(1,2,1),ims

15、how(I);J=imread(flowers.tif);subplot(1,2,2),imshow(J);3图像类型判断及转换 在 MATLAB 中如果要判断一个图像文件的类型,可使用如下指令:Isbw():若图像为二值图像,则返回真。Isgray():若图像为灰度图像,则返回真。Isind():若图像为索引图像,则返回真。Isrgb() :若图像为 RGB 图像,则返回真。在 MATLAB 系统中,要将一个类型的图像文件转换成另一个类型的图像文件,只需将前一个文件的图像数据用 imread 读出,再用 imwrite 以适当的格式写到后一个图像文件中去即可。另外,要将灰度图像 I 转换成

16、RGB 图像,可运用 cat 指令。 cat 函数可以把一些单一的图像合并成图像序列。在图像序列中每个图像需有相同的大小,如果是索引图像,色图也要一致。此外,MATLAB 还提供了若干函数,用于图像类型的转换。这些函数有:gray2ind():灰度图像或二值图像向索引图像转换。im2bw() :设定阈值将灰度、索引、RGB 图像转换为二值图像。im2double():将图像数组转换为 double 型。im2uint8():将图像数组转换为 uint8 型。im2uint16():将图像数组转换为 uint16 型。该函数不支持二值图像序列的转换。ind2gray():索引图像向灰度图像转换。

17、ind2rgb():索引图像向 RGB 图像转换。mat2gray():将一个数据矩阵转换为灰度图像。rgb2gray():RGB 图像向灰度图像转换或将彩色色图转换成灰度色图。rgb2ind():RGB 图像向索引图像转换。包含三种不同方法:均衡量化、最小值量化、色图映射。三、实验内容1、利用 help 命令熟悉实现图像的读写、显示、图像类型转换相关命令的使用方法。2、进一步熟悉相关命令的使用,imfinfo()、help、imread()、imwrite()、figure 、imshow()、subplot()等。3、从标准图片中拷贝三个图形文件 64px-lenna.bmp、128px-

18、Baboon24.png 和 128px-House24.png 到 MATLAB 目录下 work 文件夹中。4、分别将 MATLAB 目录下 work 文件夹中的 64px-lenna.bmp 和128px-House24.png 图象文件读出.用到 imread,imfinfo 等命令,观察一下图象数据,了解数字图象在 MATLAB 中的处理就是处理一个矩阵。5、将 128px-Baboon24.png 和 128px-House24.png 图象显示出来(用 imshow)方法一:要求在不同的图像窗口中分别显示两个图像,方法二:要求在一个图像窗口中同时显示出两幅图像。6、尝试修改 64px-lenna.bmp 中的颜色矩阵的值(如将三个矩阵中的一个矩阵置 0,利用哪条命令可实现该作用),要求将原图及修改后的图像均显示出来,观察图象颜色的变化。7、建立一个与 pout.tif(MATLAB 自带的图片)图像同尺寸的 0 矩阵。四、实验报告要求:1、记录下实现实验内容 5 中使用的命令。2、记录下实现实验内容 6 中使用的命令。3、记录下实现实验内容 7 中使用的命令。

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报