实验一 MATLAB数字图像度读入操作

2026/1/27 13:47:46

实验一 MATLAB数字图像度读入操作

一、实验目的与要求

1.熟悉及掌握在MATLAB中能够处理哪些格式图像。 2.熟练掌握在MATLAB中如何读取图像。

3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。 4.掌握如何在MATLAB中按照指定要求存储一幅图像的方法。 5.图像间如何转化。

二、实验原理

1、数字图像的表示和类别

根据图像数据矩阵解释方法的不同,MATLAB把其处理为4类:

? 亮度图像(Intensity images) ? 二值图像(Binary images) ? 索引图像(Indexed images) ? RGB图像(RGB images)

(1) 亮度图像

一幅亮度图像是一个数据矩阵,其归一化的取值表示亮度。若亮度图像的像素都是uint8类或uint16类,则它们的整数值范围分别是[0,255]和[0,65536]。若图像是double类,则像素取值就是浮点数。规定双精度型归一化亮度图像的取值范围是[0,1] (2) 二值图像

一幅二值图像是一个取值只有0和1的逻辑数组。而一幅取值只包含0和1的uint8类数组,在MATLAB中并不认为是二值图像。使用logical函数可以把数值数组转化为二值数组或逻辑数组。

(3) 索引图像

索引颜色通常也称为映射颜色,在这种模式下,颜色都是预先定义的,并且可供选用的一组颜色也很有限,索引颜色的图像最多只能显示256种颜色。 (4) RGB图像

一幅RGB图像就是彩色像素的一个M×N×3数组,其中每一个彩色相似点都是在特定空间位置的彩色图像相对应的红、绿、蓝三个分量。令fR,fG和fB分别代表三种RGB分量图像。一幅RGB图像就利用cat(级联)操作将这些分量图像组合成彩色图像:

rgb_image=cat(3,fR,fG,fB)

在操作中,图像按顺序放置。

2、数据类和图像类型间的转化

工具箱中提供了执行必要缩放的函数(见表2)。以在图像类和类型间进行转化。

表1-1 MATLAB和IPT支持数据类型

名称 double uint8 uint16 uint32 int8 int16 int32 single char logical 双精度浮点数,范围为 描述 ?10308?10308无符号8比特整数,范围为[0 255] 无符号16比特整数,范围为[0 65536] 无符号32比特整数,范围为[0 4294967295] 有符号8比特整数,范围为[-128 127] 有符号16比特整数,范围为[-32768 32767] 有符号32比特整数,范围为[-2147483648 2147483647] 单精度浮点数,范围为 字符 值为0或1 ?10308?10308三、实验内容及步骤

1.利用imread( )函数读取一幅图像,假设其名为flower.tif,存入一个数组中; 2.利用whos 命令提取该读入图像flower.tif的基本信息; 3.利用imshow()函数来显示这幅图像;

4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;

5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为flower.jpg;语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。

6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为flower.bmp。 7.用imread()读入图像:Lenna.jpg 和camema.jpg; 8.用imfinfo()获取图像Lenna.jpg和camema.jpg 的大小;

9.用figure,imshow()分别将Lenna.jpg和camema.jpg显示出来,观察两幅图像的质量。 10.用im2bw将一幅灰度图像转化为二值图像,并且用imshow显示出来观察图像的特征。

11.将每一步的函数执行语句拷贝下来,写入实验报告,并且将得到第3、9、10步得到的图像效果拷贝下来。

实验基本步骤:

1. 启动MATLAB双击桌面MATLAB图标启动MATLAB环境;

2. 在MATLAB命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用MATLAB自带的图像,如:cameraman图像;再调用灰度变换函数,设置相关参数,再输出处理后的图像。

3. 浏览源程序并理解含义; 4.运行,观察显示结果;

5.结束运行,退出;

试验程序语句及实验结果:

1. >>I=imread('flower.tif'); 2. >>whos I

Name Size Bytes Class

I 1200x1600x3 5760000 uint8 array

Grand total is 5760000 elements using 5760000 bytes

3. >>imshow(I)

Warning: Image is too big to fit on screen; displaying at 56% scale. > In truesize>Resize1 at 308 In truesize at 44 In imshow at 161

4. >>imfinfo flower.tif

ans =

Filename: 'flower.tif'

FileModDate: '06-May-2015 15:31:50' FileSize: 5760192 Format: 'tif' FormatVersion: [] Width: 1600 Height: 1200 BitDepth: 24

ColorType: 'truecolor' FormatSignature: [73 73 42 0] ByteOrder: 'little-endian' NewSubfileType: 0 BitsPerSample: [8 8 8]

Compression: 'Uncompressed' PhotometricInterpretation: 'RGB' StripOffsets: 8 SamplesPerPixel: 3

RowsPerStrip: 4.2950e+009 StripByteCounts: 5760000 XResolution: 96 YResolution: 96 ResolutionUnit: 'Inch' Colormap: [] PlanarConfiguration: 'Chunky' TileWidth: [] TileLength: [] TileOffsets: [] TileByteCounts: [] Orientation: 1 FillOrder: 1

GrayResponseUnit: 0.0100

MaxSampleValue: [255 255 255] MinSampleValue: 0 Thresholding: 1

5. >>imwrite(I,'flower.jpg','quality',30);

6. >>imwrite(I,'flower.bmp');


实验一 MATLAB数字图像度读入操作.doc 将本文的Word文档下载到电脑
搜索更多关于: 实验一 MATLAB数字图像度读入操作 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219