图像格式转换_第1页
图像格式转换_第2页
图像格式转换_第3页
图像格式转换_第4页
图像格式转换_第5页
已阅读5页,还剩3页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

2.图像格式转换

2.1.MATLAB支持的图像文件格式有:

(1)PCX(WindowsPaintbrus)格式:可处理1位、4位、8位、16位、24位等图

像数据C文件内容包括文件头(128B)、图像数据和扩展色图数据c

⑵BMP(WindowsBitmap)格式:有1位、4位、8位、24位、32位非压缩图

像,8位RLE(Run.lcngthEncoded)的图像。文件内容包括文件头(一个BITMAP

FILEHEADER数据结构)、位图信息数据块(位图信息头BITMAP

INFOHEADER和一个颜色表)和图像数据。

(3)HDF(HierarchicalDataFormat)格式:分等级的数据格式。有8位、24位

光栅图像数据集。

(4)JPEGQointPhotographicExpertsGroup)格式:一种联合专家组的图像压缩

格式。

⑸TIFF(TaggcdImageFileFormat)格式:加标签的图像文件格式。可处理1

位、4位、8位、24位非压缩图像,1位、4位、8位、24位packbit压缩图像,

1位CCITT压缩图像等。文件内容包括文件头、参数指针表与参数域、参数

数据表和图像数据四部分。

(6)XWD(XWindowsDump)格式:包括1位、8位Zpixmaps,XYBitniaps,位

XYPixmapSo

PNG(PortableNetworkGraphics),包括1位、2位、4位、8位、16位灰度图

像;8位和16位索引图像;24位48位真彩色图像。

(7)GIF(GraphicsInterchangeFormat)格式:图形交换格式。任何1位到8位

的可交换图像。

(8)ICO(WindowsIconresource)格式:图标资源。有1位、4位、8位非压缩

图像。

(9)CUR(MicrosoftWindowsCursorresource)格式:光标资源。有1位、4位、

8位非压缩图像。

(10)PBM(PortableBitmap)格式:轻便的位图格式。

(11)PGM(PortableGraymap)格式:轻便的灰度图像

(12)PPM(PortablePixmap)格式:轻便的像素图像

(13)RAS(SunRasterimage)格式:有1位Bitmap、8位索引、24位真彩色和带

有透明度的32位真彩色。

(14)PNM(PortableAnymap)格式

(15)PNG(PortableNetworkGraphics)格式

2.2.MATLAB可以处理的图像类型

在MATLAB的图像处理工具箱里,一幅图像可能包括一个数据矩阵,也可以

包含一个色图矩阵。除了这些基本的图像类型外,MATLAB还支持由多帧图像组

成的图像序列,下面分别介绍。

2.2.1.索引图像

索引图像包括一个数据矩阵X和一个色图阵MAP。其中X可以是无符号8位

整型、无符号16位整型或者双精度浮点型数据;MAP是一个包含三列若干行的

数据阵列,其每一个元素值均为[0,1]之间的双精度浮点数据。MAP矩阵的每一

行分别表示红色、绿色、蓝色的颜色值。索引数据中的每一个X值对应到MAP

中的一行颜色值。改变MAP中的颜色值可以改变索引图像的颜色。

需要说明的是,图像矩阵与色图之间的关系取决于图像数据矩阵的类型。如

果图像数据矩阵是双精度的数据类型,则1指向MAP中的第一行,值2指向MAP

中的第二行,依此类推;如果图像矩阵是8位无符号的整数或16位无符整数,

则由于存在一个偏移量,使得值0指向MAP中的第一行,值1指向MAP中的第二

行,依此类推。

【例221-1】显示一幅索引图像。

[XZMAP]=imread(*trees.tif');

imshow(X);

colormap(MAP);

pause⑸为暂停5秒

colormap(jet)%使用MATLAB定义的色图,缺省的是jet(64)

pause(5)3暂停5秒

[x,map]=imread(*canoe.tif');

colormap(map);%应用canoe.tif的颜色图

2.2.2.灰度图像

灰度图像是一个数据矩阵I,而矩阵I中的数据均代表了在一定范围内的颜

色灰度值。I中的元素可以是双精度的浮点类型、8位或16位无符号整数类型。

灰度图像用一个预定义的色图来显示它即:colormap(gray)。Gray是一个64级

的色图。

在MATLAB中可以调用图像色彩缩放函数imagcsc来对图像进行预处理,然

后再转换成灰度图像以调整灰度的深浅,也可以用函数imshow来显示灰度图像。

Imagesc函数的格式为imagesc(I,scale);其中,1可以是灰度图像或色图;

scale用于确定灰度的范围。

【例2.2.2-1】显示一幅灰度图像moon,tif。

I=imread(,moon,tif');

imshow(I);

1=IMREADfcircuit,tif*);

Imshow(I);

2.2.3.RGB图像

RGB图像,即真彩色图像,在MATLAB中存储为数据矩阵。数组中的元素定义

了图像中每一个像素的红、绿、蓝颜色值。每一个像素需要用24位二进制数来

存储R,G,B三种颜色的亮度值。R,G,B值的组合表示了像素的颜色。

【例2.2.3-1]显示一幅RGB图像。

RGB=imread(,board.tif');

irnshuw(RGB);

2.2.4,二值图像

二值图像与灰度图像一样,二值图像只需要一个数据矩阵,每个像素只取两

个离散的值0,1对应于white和black。二值图像是以0和1的逻辑矩阵存储的。

【例224-1】显示一幅二值图像。

BW=imread(,circuitbw.tif');

imshow(BW);

2.2,5.数据矩阵

符合图像格式的数据矩阵也可以认为是一幅图像。

【例2.2.57]使用数据矩阵生成图像。

M=magic(100);

m=M/max(M(:));

imshow(m);

m=mat2gray(M);%相当于m=M/max(M(:))

figure;imshow(m);

2.2.6.图像序列

对于大多数应用,需要一组与时间或视角有关联的图像序列,而不只是单个

的图像。例如核磁共振成像(MRI)和动画。

MATLAB的图像处理工具箱支持在同一矩阵中存储多个图像,我们把每个图像

叫作一帧。图像序列(矩阵)是一个四维的数组,图像帧的序号在图像的长、宽、

颜色深度之后构成第四维。比如,一个包含5幅400X300真彩色图像序列,其

大小是400X300X3X5,而相似的多帧索引图像或灰度图像的大小是

400X300X1X5。

在MATLAB中,用前面讲过的cat函数可以把一些单一的图像合并成图像序

列。在图像序中每个图像需要有相同的大小,如果是索引图像,色图也要一致。

【例2.2.6-11多帧核磁共振成像的图像。

clear;

mri=uint8(zeros(128,128,1,27));

forframe=l:27

[mri(:,frame),map]=imread('mri.tif',frame);

end

montage(mri,map);%用蒙太奇函数显示所有的帧图像。

mril=mri(:,:,:,1);mri3=mri(:,:,:,3);mri6=mri(:,:,:,6);

mrix=cat(4,mril,mri3,mri6);

figure;

montage(mrix,map);%用蒙太奇函数显示mrix所有的帧图像。

2.3.图像类型转换

数字图像和数据矩阵共有5种类型,它之间是可以转换的。各种类型之间转

换函数由下图示:

/、I=ind2gray(X,map)-

[X,map]索引

B

w

u

d

i

t

h

e

r

u

)

I

BGR

U2

Ib

nW

feP

rQ

gV

pbC

am0<=level<=l

)p_

BW=im2bw(RGB,level)

RGB真彩色图像ABW二值图像

【例2.3T】图像类型转换示例,抖动函数的应月。

RGB=imread('board.tif');

imshow(RGB);

X二dither(RGB,hot);%X=dither(RGB,jet);

imshow(X,hot);%imshow(X,jet);

I=rgb2gray(RGB);

imshow(I);

BW二dither(I);

imshow(BW);

2.4.图像数据类之间的转换

MATLAB支持的图像数据类可分为Logical,uint8,uintl6,double四类,它们

之可以相互转换。为了利用自定义的函数对图像进行处理,一般都要求将图像的

数据类转换成double类,当处理完成后,可根据需要再转换成其它类。

图像处理工具箱(IPT)中用于图像数据类之间转换的函数:

函数名称有效的输入图像数据类转换后的图像数据类

Im2uint8Logical,uint8,uintl6,doubleUint8

Im2uint16Logical,uint8,uintl6,doubleUintl6

Im2doubleLogical,uint8,uintl6,doubleDouble

Im2bwUint8,uint16,doubleIxjgical

Mat2grayDoubleDouble范围为[0,1]

图像数据类可以通过下表给出的四个函数来进行判断。其调用格式为:

Image_Tyrpe_YesNo=Is_Image_T\.pe_Command(lmage_Tyrpe_Array)

如果数组数据Image_Type_Array是对应的图像类型,Image_Type_YesNo值返

回1,否则返回Oo

图像数据类的判断函数

函数说明

isbw二值图像的判断

isgray灰度图像的判断

isind索引图像的判断

isrgb真彩色图像的判断

【例2.4-1]数据类判断示例。

delay=3;%显示的持续时间为3秒.

RGB=imread(*board,tif');

Image_Type_YesNol=isrgb(RGB);

if(Image_Type_YesNol==l);

image(RGB);title('正常显示');

end

pause(delay);%暂停3秒

[X,map]=imreadCcanoe,tif');

image(X)

titleC非正常显示');

pause(delay);%暂停3秒

Image_Type_YesNo2=isind(X);

if(Image_Type_YesNo2==l)

colormap(map);

end

titleC正常显示');

pause(delay);%暂停3秒

T=imrpad('moon,tif1);

image(I)

titleC非正常显示');

pause(delay);%暂停3秒

Image_Type_YesNo3=isgray(I);

if(Image_Type_YesNo3==l)

colonnap(gray)

end

titleC正常显示');

pause(delay);%暂停3秒

BW=imread(,circbw.

温馨提示

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

评论

0/150

提交评论