ch3-图像文件格式及读取介绍_第1页
ch3-图像文件格式及读取介绍_第2页
ch3-图像文件格式及读取介绍_第3页
ch3-图像文件格式及读取介绍_第4页
ch3-图像文件格式及读取介绍_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

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

文档简介

第三章图像文件格式第一节图象文件的分类第二节图象数据的结构第三节MATLAB对文件的基本操作图像的基本属性1、分辨率显示分辨率:指显示屏上能够显示出的象素数目。同样大小显示屏能够显示的象素越多,说明显示设备的分辨率越高,显示的图像质量也就越高。(640×480,1024×768)

图像分辨率:指组成一副图像的像素的密度,一般用单位长度上包含像素的个数来衡量。常用单位为DPI(dotsperinch),即每英寸多少点。图像的基本属性2、像素深度像素深度是指存储每个像素所用的位数。像素深度决定彩色图像每个像素可能有的颜色数,或者确定灰度图像每个像素可能有的灰度级数。3、调色板一个彩色图像假如只包含24位真彩色空间中的16个离散的点(16色图),则可以建立一个颜色查找表,表中的每一行记录一组RGB值,实际像素的值用来指定该点颜色在查找表中的索引值,这样就可以大大缩小存储量。这个颜色查找表就叫做调色板。第一节图像文件的分类(1)点阵型(2)矢量型(3)动画型点阵型:采用位映射(bit-mapped)的方式存储图形文件。例如大家最熟悉的中文字型,它的15*16字型和24*24字型就是使用此种字型存储。一般常见的点阵型图象文件常用BMP、PCX、GIF等做后缀。(1)点阵型绘画以及图象编辑软件都产生位图图象,也叫作栅格图象。位图图象是用小方形网格(位图或栅格),即人所共知的象素来代表图象,每个象素都被分配一个特定位置和颜色值。例如,在位图图象中自行车轮胎是由该位置的象素拼合组成的。处理位图图象时,编辑的是象素而不是对象或形状。

位图图象与分辨率有关,换句话说,它包含固定数量的象素,代表图象数据。因此,如果在屏幕上以较大的倍数放大显示,或以过低的分辨率打印,位图图象会出现锯齿边缘,且会遗漏细节。在表现阴影和色彩(如在照片或绘画图象中)的细微变化方面,位图图象是最佳选择。矢量型:采用直线(line)、曲线(curve)、矩形(rectangle)、圆形(circle)等矢量(vector)的方式存储图形。市面上所谓的矢量字型就是使用这种方式储存(注意:有的矢量图内也可以储存点阵型图)。常见的矢量图文件有:windows的.WMF,Lotus的.PIC,CorelDraw的.CDR等。(2)矢量型C:\ProgramFiles\MicrosoftOffice\CLIPART\PUB60COR绘图软件创作的矢量图形,是由叫作矢量的数学对象所定义的直线和曲线组成的。矢量根据图形的几何特性来对其进行描述。例如,矢量图形中的自行车轮胎是由数学定义的圆形组成,这个圆形按某一半径画出,放在特定位置并填充有特定的颜色。移动、缩放轮胎或更改轮胎颜色不会降低图形的品质。矢量图形与分辨率无关,换句话说,可以将它缩放到任意大小和以任意分辨率在输出设备上打印出来,都不会遗漏细节或清晰度。因此,矢量图形是文字(尤其是小字)和粗图形的最佳选择,这些图形(比如徽标)在缩放到不同大小时必须保持清晰的线条。有些更高级的动画型图象则可以分析出两个画面的差异,然后只存储其差异部分。例如有一只海鸥飞过一座高山,此时,当作背景的高山是不会有任何改变的,因此,只需存储画面间海鸥飞过时所改变的地方即可。(3)动画型

所谓动画型图象其实可以说是由许多的点阵图象所组成,常见的动画型图象文件有:Animator的.FLI、MacroMindDirector的.MMM等,而目前最受众人瞩目的动画型图象则为MPEG(MotionsPictureExpertsGroup)数字电视图象、GIF等。第二节图象数据的结构图象数据事实上就是一个有许多元素(element)组成的二维矩阵,由于矩阵中每个元素相当于该图中的每一点(dot),因此被称为象素(pixel),而图象数据所对应的色彩数目(colornumber)则是由每点所需位数(bitsperpixel)来决定,其计算方式如下:

colornumber=2(bitsperpixel)

每位象素的bit数与其可表示的颜色数之间的关系如下:BitPerPixelColorNumber1-bit2-color4-bit16-color8-bit256-color16-bithigh-color24-bittrue-color32-bittrue-color(1)真彩色图象:如果图象数据中每个象素的颜色直接以RGB表示,其中RGB各占一个字节(即每个象素占3个字节),则该图象称为真彩色(truecolor)图象,也称全彩色(fullcolor)图象。以一张640*480的真彩色图象为例,其所需的储存空间为:640*480*3=900Kbytes由于彩色计算机屏幕所显示的每种颜色都是以RGB三基色组成,因此,大多数的图象文件在储存彩色图象数据时,都是采用RGB色彩系统来描述颜色,彩色图象大致可以分成三组:(2)深彩色图象:如果图象数据中每个象素的颜色值仍是直接以RGB来表示,但每个象素仅占2个字节(亦即RGB可能各占5个位,也可能某一种颜色占了6个位),该图象就称为深彩色(highcolor)图象。以一张640*480的16位深彩色图象为例,其所需的存储空间为:

640*480*2=600KBytes(3)伪彩色图象:如果图象数据中各种颜色的RGB值存储在彩色表(colortable)或调色板(palette)内,而图象资料中每个象素的颜色值为指向调色板的索引值(index),则该图象称为含调色板图象,通常称为伪彩色(pseudocolor)图象。由于图象资料中每个象素的颜色值以不超过一个字节为原则(通常每个象素占4个位或8个位),因此,调色板中最多可以存储256种颜色。以一张640*480的8位伪彩色图象为例,其所需的存储空间为:

640*480+256*3=300.75KB图像的分类举例矢量图点位图图像的分类举例灰度图标准单色图标准灰度图产生1流明的白光所需要的三基色的近似值可由下面的亮度方程表示:1lm(W)=0.299lm(R)+0.587lm(G)+0.114lm(B)标准从彩色图到灰度图的转换中,灰度值的计算权值和上述公式相同。256色标准图像24位标准图像图像的分类举例BMPGIFJPEGTIFFPCXTGA……按图像的文件存储类型来分,可分为:问:我们双击带扩展名的图像文件,windows会调用图片查看器,显示该图像。这个过程是怎么实现的?答:操作系统根据文件后缀名,按照这种格式的文件,正确读取文件信息及数据信息,并进行显示。1.BMP文件及其结构

BMP(BitMap)是DOS和Windows兼容计算机系统的标准Windows图象格式。BMP格式支持RGB、索引颜色、灰度和位图颜色模式。可以指定图象采用MicrosoftWindows或OS/2格式,并指定图象的位深度。BMP的主要特点:文件结构与PCX文件格式类似,每个文件只能存放一幅图像;图像数据是否采用压缩方式存放,取决于文件的大小与格式,即压缩处理成为图像文件的一个选项,用户可以根据需要进行选择。

BMP文件由文件头、位图信息头、颜色信息和图形数据四部分组成:

BMP文件头

BMP文件头数据结构含有BMP文件的类型、文件大小和位图起始位置等信息。

表头长度固定为54个字节.

其结构定义如下:

typedef

struct

tagBITMAPFILEHEADER

{

WORDbfType;//位图文件的类型,必须为BM

DWORDbfSize;//位图文件的大小,以字节为单位

WORDbfReserved1;//位图文件保留字,必须为0

WORDbfReserved2;//位图文件保留字,必须为0

DWORDbfOffBits;//位图数据的起始位置,以相对于

//位图文件头的偏移量表示,以字节为单位

}BITMAPFILEHEADER;

(2)位图信息头

BMP位图信息头数据用于说明位图的尺寸等信息。

其数据结构如下图所示:typedef

struct

taBITMAPINFOHEADER{

DWORDbiSize;//本结构所占用字节数

LONGbiWidth;//位图的宽度,以像素为单位

LONGbiHeight;//位图的高度,以像素为单位

WORDbiPlanes;//目标设备的级别,必须为1

WORDbiBitCount//每个像素所需的位数,必须是1(双色),

//4(16色),8(256色)或24(真彩色)之一

DWORDbiCompression;//位图压缩类型,必须是0(不压缩),

//1(BI_RLE8压缩类型)或2(BI_RLE4压缩类型)之一

DWORDbiSizeImage;//位图的大小,以字节为单位

LONGbiXPelsPerMeter;//位图水平分辨率,每米像素数

LONGbiYPelsPerMeter;//位图垂直分辨率,每米像素数

DWORDbiClrUsed;//位图实际使用的颜色表中的颜色数

DWORDbiClrImportant;//位图显示过程中重要的颜色数

}BITMAPINFOHEADER;

颜色表

颜色表用于说明位图中的颜色,它有若干个表项,每一个表项是一个RGBQUAD类型的结构,定义一种颜色。RGBQUAD结构的定义如下:

typedef

struct

tagRGBQUAD{

BYTErgbBlue;//蓝色的亮度(值范围为0-255)

BYTErgbGreen;//绿色的亮度(值范围为0-255)

BYTErgbRed;//红色的亮度(值范围为0-255)

BYTErgbReserved;//保留,必须为0

}RGBQUAD;

颜色表中RGBQUAD结构数据的个数有biBitCount来确定:

当biBitCount=1,4,8时,分别有2,16,256个表项;

当biBitCount=24时,没有颜色表项。

BITMAPINFO结构定义如下:

typedef

struct

tagBITMAPINFO{

BITMAPINFOHEADERbmiHeader;//位图信息头

RGBQUADbmiColors[1];//颜色表

}BITMAPINFO;

位图信息头和颜色表组成位图信息.

当biBitCount=1时,8个像素占1个字节;

当biBitCount=4时,2个像素占1个字节;

当biBitCount=8时,1个像素占1个字节;

当biBitCount=24时,1个像素占3个字节;

(4)位图数据位图数据记录了位图的每一个像素值,记录顺序是在扫描行内是从左到右,扫描行之间是从下到上。位图的一个像素值所占的字节数:

一个扫描行所占的字节数计算方法:

DataSizePerLine=(biWidth*biBitCount+31)/8;

//一个扫描行所占的字节数Windows规定一个扫描行所占的字节数必须是

4的倍数(即以long为单位),不足的以0填充,DataSizePerLine=DataSizePerLine/4*4;//字节数必须是4的倍数

位图数据的大小(不压缩情况下):

DataSize=DataSizePerLine*biHeight;

GIF是GraphicInterchangeFormat(图形交换格式)的缩写,它是由CompuServe公司在1987年提出的。其最初目的是希望每个BBS(BulletinBoardSystem)的使用者能够通过GIF文件,轻易存储并交换图形数据。在WWW和其它网上服务的HTML文档中,GIF文件格式普遍用于显示索引颜色图形和图象。GIF是一种LZW(字串表压缩法)压缩格式,用来最小化文件大小和电子传递时间。最多支持256种颜色。2.GIF文件及其结构GIF文件格式特点采用复杂的LZW编码方式一个GIF文件可以存储多幅图像带有色彩表(全局、局部色彩表)支持图像定序显示或覆盖可以错行存放支持文本覆盖GIF图象文件的结构是由块组成的。以下是一个典型的GIF文件结构: 文件头信息header

屏幕描述块LogicalScreenDescriptor

全域调色板数据Globalcolortable

图象描述块Imagedescriptor

区域调色板数据Localcolortable

图象压缩数据Tablebasedimagedata

图形控制扩充块GraphicControlextension

图形说明扩充块Plaintextextension注解说明扩充块Commentextension应用程序扩充块Applicationextension文件结尾块Trailera.控制块(controlblock)包括了控制数据流(DataStream)的处理以及设定硬件的参数,其成员有:*Header*Logicalscreendescriptor*Graphiccontrolextension*Trailer按照这些块的特性,可以将其归纳为三大类:c.特殊用途块包含了与处理图象数据无直接关系的信息,其成员有:*Commentextension*Applicationextensionb.图形描绘块(GraphicrenderingBlock)包含了在显示设备上描绘图形所需的信息,其成员有:*Imagedescriptor*Plaintextextension(1)文件头信息GIF文件头占6个字节,其结构如下:typedef

struct

gifheader{BYTEbySignature[3];BYTEbyVersion[3];}GIFHEADER;以下是各个块结构的说明:bySignature,GIF识别码,固定为“GIF”。byVersion,版本号。有2个版本GIF87a和GIF89a,分别是1987和1989年公布的,在文件头信息中用“87a”和“89a”表示。(2)屏幕描述块逻辑屏幕是一个虚拟屏幕,通过逻辑屏幕我们可以知道该如何处理图象的显示。其结构如下:typedef

struct

gifscrdesc{WORDwWidth;WORDwDepth;

Struct

globalflag{BYTEPalbits:3;BYTESortFlag:1;BYTEColorRes:3;BYTEGlobalPal:1;}GlobalFlag;BYTEbyBackground;BYTEbyAspect;}GIFSCRDESC;wWidth:逻辑屏幕的宽度;wDepth:逻辑屏幕的高度;globalflag

:全域性数据。globalflag.Palbits:判断图象文件中是否存在全域性调色板。globalflag.SortFlag:判断调色板中的RGB值是否经过排序。globalflag.ColorRes:计算原始图象的色彩分辨率。globalflag.GlobalPal:计算调色板数据的大小。byBackground:逻辑屏幕的背景颜色。byAspect:逻辑象素的长宽比例。(3)全域调色板数据:全色调色板的大小是由globalflag.Palbits决定,其最大长度为768(256*3)字节。原则上在GIF图象文件中的每张图象中都有其专属的区域调色板,倘若某张图象没有定义其全域调色板,就必须以区域调色板替代。(4)图象描述块:存储图象描述数据,如图象的宽、高,图象的位置等。(5)区域调色板数据:区域调色板的最大长度为768字节。(6)图象压缩数据:存储图象压缩的最小字节数,数据子块信息等。(7)数据子块:数据子块是一种可变长度的块,其长度由第一个字节的数据来决定,而其最大值为256,也就是说,数据子块的最大长度为256字节,若长度为0,则表示此块没有包含任何数据,其作用在于辨识一系列数据子块是否结束。(8)扩充块:由于GIF图象文件中可能有多个图象描述块及扩充块,而且块也没有一定的存放顺序,因此,GIF图象文件用一个字节的识别码来判断是否为扩充块。扩充块有四种,分别为:(9)文件结尾块:

Trailer为GIF文件中DataStream的结尾块。

c.注解说明扩充块:包含了图形的文字注解说明。

d.应用程序扩充块:包含了制作此图象文件的应用软件的相关信息。a.图形控制扩充块:包含描绘图形时的参数。b.图形说明扩充块:包含了与图形同时显示的文字的相关信息。JPEG是JointPhotographicExpertsGroup(联合图片专家组)的缩写。在WWW和其它网上服务的HTML文档中,JPEG普遍用于显示图片和其它连续色调的图象文档。JPEG格式支持CMY、RGB和灰度颜色模式,与GIF格式不同,JPEG保留RGB图象中的所有颜色信息,通过选择性地去掉数据来压缩文件。3.JPEG文件及其结构JPEG图象在打开时自动解压缩。高等级的压缩会导致较低的图象品质,低等级的压缩则产生较高的图象品质。在大多数情况下,采用“最佳”品质选项产生的压缩效果与原图几乎没有什么区别。JPEG文件格式的特点静止图像压缩采用有损编码方式是一种变换编码对高频、低频信号区别对待JPEG文件结构JPEG是一种有损压缩方式,该文件的目的是提供一种高压缩比的图象,JPEG图象的格式也是以每一数据段来描述的,在JPEG文件的开始是SOF数据标志,文件最后以EOF标志结束。数据段最后结束标志的不同表示了数据段的意义,主要有以下几种:

FFD8:SOF数据段,包含了图象的精度,尺寸,长度等信息FFD9:EOF数据段,表示文件结束RST1~RST7,FFD1~FFD7:复位数据标志FFE0:保留数据块FFFE:文件注释数据块

FFDB:量化表数据块

FFDC:图像行数数据块

FFDD:复位间隔数据块

FFC4:haffman

表数据块

JPEG支持24位色或真彩色,典型压缩比为4:1。下表是一幅原图为380K的“psd”格式图象在不同压缩比下进行压缩后的图象文件大小的比较:

JPEG编码技术是由颜色转换、DCT变换、进行量化、编码。其压缩格式由著名的JPEG集团所著的4.0版本的库所定。

压缩方式压缩比图象质量文件大小最高(max)小很好93k高(high)较小非常好细节损失不易被察觉53k中等(medium)中等细节损失明显但还可接受31k底(low)高细节损失大23k由此表可以看出,在兼顾图象质量和大小的情况下,以中等(medium)方式对自然色彩的图象进行JPEG压缩最为适宜。

JPEG只能对具有连续色调或连续灰阶的24位图象进行压缩,对由8位转化成24位的图象没有优势。原因在于8位色彩的图象中相邻点的颜色变化比24位大,JPEG对于这类图象造成既占空间又损失图象质量的结果,这时JPEG的压缩效果可能比GIF更差。

JPEG有损顺序编码算法的主要计算步骤如下:1.将源图像分成几个颜色平面(分量图像)。2.分成8×8数据块进行正向离散余弦变换(FDCT)。2.量化(quantization)。3.Z字形排列量化结果(zigzagscan)。4.使用差分脉冲编码调制(differentialpulsecodemodulation,DPCM)对直流系数(DC)进行编码。5.使用行程长度编码(run-lengthencoding,RLE)对交流系数(AC)进行编码。6.熵编码(entropycoding)。JPEG编码标准JPEG编码标准译码或者叫做解压缩的过程与压缩编码过程正好相反。IDCTJPEG编码标准TIFF(TagImageFileFormat)是由9家公司共同发布的,是一种灵活的位图图象格式,实际上被所有绘画、图象编辑和页面排版应用程序所支持。而且几乎所有桌面扫描仪都可以生成TIFF图象。它能支持单色、灰度、彩色、和其他很多种色彩系统,而在图象数据存储的方式上,除了未压缩的方式外,还包含很多种压缩方法。其图象文件结构主要分为图象文件表头和图象文件目录两个部分。(由于该文件的数据结构过于复杂,很少有软件能支持其所有特性,在这里就不作介绍了)4.TIFF文件及其结构什么是TIFF文件格式扫描仪CAD系统地理信息…由Adobe公司授权,包括TIF标记和文档TIFF包括公共标记和私有标记TIFF是TaggedImageFileFormat的缩写,是一个广为应用的光栅图像文件格式,它的来源有:TIFF格式的特点支持从高端到低端的设备可扩展性强,支持公共和私用的标记结构支持各种压缩格式有公共软件库支持二值图灰度图调色板真彩色其他扩展TIFF文件头PCX格式普遍用于IBMPC兼容计算机上。大多数PC软件支持PCX格式版本5。版本3文件采用标准VGA调色板,该版本不支持自定调色板。5.PCX文件及其结构PCX格式支持RGB、索引颜色、灰度和位图颜色模式。PCX支持RLE(重复段长度)压缩方式。支持位深度为1、4、8或24的图象。PCX文件结构分为文件头和图象压缩数据两个部分(如果是8位的PCX图象文件,则还有256色调色板数据储存于文件尾)。PCX的文件头全部占有128字节,其数据结构如下:typedef

struct

pcxheader{BYTEbyManufacturer;BYTEbyVersion;BYTEbyEncoding;BYTEbyBits;WORDwLeft;WORDwTop;WORDwRight;WORDwBottom;WORDwXResolution;WORDwYResolution;BYTEbyPallette[48];BYTEbyReserved;BYTEbyPlanes;WORDwLineBytes;WORDwPalletteType;WORDwScrWidth;WORDwScrDepth;BYTEbyFiller[54];}PCXHEADER;其中,BYTE和WORD分别表示8位和16位的无符号整型。该结构的各数据成员的含义如下:byManufacturerPCX识别码,用来识别是否为PCX文件;byVersion表示使用的paintbrush版本,共有0,2,3,4,5等值,不同版本处理色彩的能力不一样。byEncoding

数据压缩方式,目前只有一种压缩方式,值为1,表示采用runlength压缩法。byBits

每个象素所需的位数。wLeft图象相对于屏幕(screen)左上角的x坐标。wTop图象相对于屏幕(screen)左上角的y坐标。wRight图象相对于屏幕(screen)右下角的x坐标。

wBottom图象相对于屏幕(screen)右下角的y坐标。图象宽度及高度的计算方式如下:宽度=wRight–wLeft+1高度=wBottom–wTop+1wXResolution图象的水平分辨率(单位英寸的象素数)。wYResolution图象的垂直分辨率。byPallette调色板数据。byReserved//保留数据。byPlanes//图象的色彩平面数。wLineBytes图象的宽度(以字节为单位),此值必须是偶数。wPalletteType调色板类型。1是彩色或单色,2灰度。wScrWidth制作此图象文件的屏幕宽度(以象素为单位)。此值以0为基准,为实际的屏幕宽度减1。wScrDepth制作此图象文件的屏幕高度(以象素为单位)。此值以0为基准,为实际的屏幕高度减1。byFiller保留数据。6.TGA文件及其结构

TGA是AT&T(AmericanTelephone&Telegraph)公司在1984年提出的图象文件格式。其最初目的是为了支持其所开发的Targa显像卡,由于TGA图象文件格式能完善地处理8位到32位图象,因此,在图象处理(imageprocessing)、光路跟踪(raytracing)等高级应用领域中早已被接纳使用。

TGA的文件结构比较复杂,大致可分为文件头、图象压缩数据、开发者区域、扩充区域和文件尾信息五个部分。7.PSD格式

这是著名的Adobe公司的图像处理软件Photoshop的专用格式PhotoshopDocument(PSD)。PSD其实是

温馨提示

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

评论

0/150

提交评论