实验一-MATLAB数字图像处理初步-河北工业大学_第1页
实验一-MATLAB数字图像处理初步-河北工业大学_第2页
实验一-MATLAB数字图像处理初步-河北工业大学_第3页
实验一-MATLAB数字图像处理初步-河北工业大学_第4页
实验一-MATLAB数字图像处理初步-河北工业大学_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

实验一MATLAB数字图像处理初步

网络121XXX

一、实验目的与要求

1.熟悉及掌握在MATLAB中能够处理哪些格式图像。

2.熟练掌握在MATLAB中如何读取图像。

3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。

4.掌握如何在MATLAB中按照指定要求存储一幅图像的方法。

5.图像类型转换。

二、实验原理及知识点

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

一幅图像可以被定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标,f在

任何坐标处(x,y)处的振幅称为图像在该点的亮度。灰度是用来表示黑白图像亮度的一

个术语,而彩色图像是由单个二维图像组合形成的。例如,在RGB彩色系统中,一幅彩

色图像是由三幅独立的分量图像(红、绿、蓝)组成的。因此,许多为黑白图像史理开发

的技术适用于彩色图像处理,方法是分别处理三副独立的分量图像即可。

图像关于x和y坐标以及振幅连续。要将这样的一幅图像转化为数字形式,就要

求数字化坐标和振幅。将坐标值数字化称为采样;将振幅数字化成为量化。采样和量化

的过程如图1所示。因此,当f的x、y分量和振幅都是有限且离散的量时,称该图像

为数字图像。

作为MATLAB根本数据类型的数值数组本身十分适于表达图像,矩阵的元素和图像

的像素之间有着十分自然的对应关系。

图1图像的采样和量亿

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

>亮度图像(Inlensityimages)

>二值图像(Binaryimages)

>索引图像(Indexedimages)

>RGB图像(RGBimages)

(1)亮度图像

一幅亮度图像是一个数据矩阵,其归一化的取值表示亮度。假设亮度图像的像素都

是uint8类或uintl6类,那么它们的整数值范围分别是[0,255]和[0,65536]。假设图像

是double类,那么像素取值就是浮点数。规定双精度型归一化亮度图像的取值范围是[(),

1]

(2)二值图像

一幅二值图像是一个取值只有0和1的逻辑数组。

(3)索引图像

索引颜色通常也称为映射颜色,在这种模式下,颜色都是预先定义的,并且可供选

用的•组颜色也很有限,索引颜色的图像最多只能显示256种颜色。

一幅索引颜色图像在翱像文件里定义,当翻开该文件时,构成该图像具体颜色的索

引值就被读入程序里,然后根据索引值找到最终的颜色。

⑷RGB图像

一幅RGB图像就是彩色像素的一个MxNx3数组,其中每一个彩色相似点都是在

特定空间位置的彩色图像相对应的红、绿、蓝三个分量。按照惯例,形成一幅RGB彩

色图像的三个图像常称为红、绿或蓝分量图像。

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

表1中列出了MATLAB和IPT为表示像素所支持的各种数据类。表中的前8项称

为数值数据类,第9项称为字符类,最后一项称为逻辑数据类。

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

表ITMATLAB和IPT支持数据类型

名称描述

double双精度浮点数,范围为_103。8_103。8

uint8无符号8比特整数,范围为[0255]

uintl6无符号16比特整数,范围为[065536]

uint32无符号32比特整数,范围为[04294967295]

int8有符号8比特整数,范围为[-128127]

intl6有符号16比特整数,范围为[-3276832767]

int32有符号32比特整数,范围为[-2147483648

2147483647]

single单精度浮点数,范围为_1()3。8_io3O8

char字符

logical值为0或1

表1-2格式转换函数

名称将输入转化为有效的输入图像数据类

im2uint8uinl8logical,uint8,uintl6和doulbe

im2uint16uint16Iogical,uint8,uintl6和doulbe

mat2graydouble,范围为[01]double

im2doubledoublelogical,uint8,uinll6和doulbe

im2bwlogicaluint8,uint16和double

下面给出读取、压缩、显示一幅图像的程序(%后面的语句属于标记语句,编程时可不

用输入)

I=imread(,原图像名%读入原图像,tif格式

whosI%显示图像I的根本信息

imshow(I)%显示图像

Imfinfo%查询图像文件信息

imwrite;%压缩存储图像

例如:imwrite。,'1.jpg','jpg','quality',80)就是以质量因子80压缩,100就是不变,图像尺寸不变,像素值会发

生变化,图像会变得越来越模糊。可以看压缩后图像与原始图像的大小发生变化。

%显示多幅图像,其中n为图形窗口的号数

figure(n),imshow('filename');

gg=im2bw('filename');%将图像转为二值图像

figure,imshow(gg)%显示二值图像

三、实验内容及步骤

1.利用imread()函数读取一幅图像,假设其名为football.jpg,存入一个数组中;

»I=imread('football.jpg');

2.利用whos命令提取该读入图像football.jpg的根本信息;

»whos

NameSizeBytesClass

I256x320x3245760uint8array

ans1x11966structarray

Grandtotalis245874elementsusing247726bytes

3.利用imshow()函数来显示这幅图像;

»imshow(I)

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

»imfinfo('football.jpg1)

ans=

Filename:'C:\MATLAB7\loolbox\images\imdemos\footbalLjpg'

FileModDate:'01-Mar-200109:52:38'

FileSize:27130

Format:'jpg'

FormatVersion:"

Width:320

Height:256

BitDepth:24

ColorType:'truecolor'

FormatSignaturc:"

NumberOfSamples:3

CodingMethod:'Huffman'

CodingProcess:'Sequential'

Comment:{)

5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件屋设

为footballnew.jpg;语法:imwrite(原图像,新图像,'qualityq),q取0-100。

»imvvrite(L'footbaLjpg','quality',10);

6.用imread()读入索引图像:kids.tif;

»K=imread('kids.lifI;

7.同样利用imwrite。函数将最初读入的tif图象另存为一幅bmp图像,设为

kids_index.bmpo

»imwrite(K,'kids_index.bmp');

8.用imfinfo。获取图像football.jpg和kids.tif的大小;

»imfinfo('football.jpg,)

Width:320Height:256

»imfinfoCkids.tif)

Width:318Height:400

9.用figure,imshow。分别将football.jpg和kids.tif显示出来,观察两幅图像的质量。

10.用而2bw将一幅灰度图像转化为二值图像,并且用imshow显示出来观察图像

的特征。

»a=imread('football.jpg');

»e=rgb2gray(a);

»f=im2bw(e);

»

imshow(f);

11.用imread翻开一幅图像,在MATLAB中用程序绘制其灰度直方图。(不要用

MATLAB中自带的函数imhist和histeq实现)。

»l=imread('football.jpg');

»[rowszcols]=size(l);

»zhifang=zeros(l/256);

»fori=0:255

zhifang(l,i+l)=length(find(l==i))/(rows*cols);

end

»figure(l);

»bar(0:255,zhifang/grouped');

0.016

12.将一幅彩色图像转换成256级灰度图像,进行4倍和16倍减采样,弃对减采

样的效果进行描述

>>a=imread(*football.jpg*);

>>e=rgb2gray(a);

>>imshow(e);©

>>form=l:2

figure

[width,height]=size(b);

c=zeros(floor(width/(2*m)),floor(height/(2*m)));

k=l;

n=l;

fori=l:(2*m):width

forj=l:(2*m):height

c(kzn)=b(izj);

n=n+l;

end

k=k+l;

n=l;

end

imshow(uint8(c));

ifm==l

title-4倍减采样,);

else

title「16倍减采样D;

End

13.将一幅彩色图像转换成256、64、32、8、2级灰度图像,并对灰度减小后的图

像效果进行描述。

14.>>a=imread(,football,jpg*);

15.»b=rgb2gray(a);

16.>>figure

17.>>imshow

温馨提示

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

评论

0/150

提交评论