当前位置:文档之家› 详解YUV420数据格式

详解YUV420数据格式

详解YUV420数据格式
详解YUV420数据格式

图文详解YUV420数据格式

?YUV格式有两大类:planar和packed。

对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V。

对于packed的YUV格式,每个像素点的Y,U,V是连续交替存储的。

YUV,分为三个分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V”表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。

与我们熟知的RGB类似,YUV也是一种颜色编码方法,主要用于电视系统以及模拟视频领域,它将亮度信息(Y)与色彩信息(UV)分离,没有UV信息一样可以显示完整的图像,只不过是黑白的,这样的设计很好地解决了彩色电视机与黑白电视的兼容问题。并且,YUV不像RGB那样要求三个独立的视频信号同时传输,所以用YUV方式传送占用极少的频宽。

YUV码流的存储格式其实与其采样的方式密切相关,主流的采样方式有三种,YUV4:4:4,YUV4:2:2,YUV4:2:0,关于其详细原理,可以通过网上其它文章了解,这里我想强调的是如何根据其采样格式来从码流中还原每个像素点的YUV值,因为只有正确地还原了每个像素点的YUV值,才能通过YUV与RGB的转换公式提取出每个像素点的RGB值,然后显示出来。

用三个图来直观地表示采集的方式吧,以黑点表示采样该像素点的Y分量,以空心圆圈表示采用该像素点的UV分量。

先记住下面这段话,以后提取每个像素的YUV分量会用到。

YUV 4:4:4采样,每一个Y对应一组UV分量。

YUV 4:2:2采样,每两个Y共用一组UV分量。

YUV 4:2:0采样,每四个Y共用一组UV分量。

?存储方式

下面我用图的形式给出常见的YUV码流的存储方式,并在存储方式后面附有取样每个像素点的YUV数据的方法,其中,Cb、Cr的含义等同于U、V。

(1)YUVY 格式(属于YUV422)

YUYV为YUV422采样的存储格式中的一种,相邻的两个Y共用其相邻的两个Cb、Cr,分析,对于像素点Y'00、Y'01 而言,其Cb、Cr的值均为Cb00、Cr00,其他的像素点的YUV取值依次类推。

(2)UYVY 格式(属于YUV422)

UYVY格式也是YUV422采样的存储格式中的一种,只不过与YUYV不同的是UV的排列顺序不一样而已,还原其每个像素点的YUV值的方法与上面一样。

(3)YUV422P(属于YUV422)

YUV422P也属于YUV422的一种,它是一种Plane模式,即平面模式,并不是将YUV数据交错存储,而是先存放所有的Y分量,然后存储所有的U(Cb)分量,最后存储所有的V(Cr)分量,如上图所示。其每一个像素点的YUV值提取方法也是遵循YUV422格式的最基本提取方法,即两个Y共用一个UV。比如,对于像素点Y'00、Y'01 而言,其Cb、Cr的值均为Cb00、Cr00。

(4)YV12,YU12格式(属于YUV420)

YU12和YV12属于YUV420格式,也是一种Plane模式,将Y、U、V分量分别打包,依次存储。其每一个像素点的YUV数据提取遵循YUV420格式的提取方式,即4个Y分量共用一组UV。注意,上图中,Y'00、Y'01、Y'10、Y'11共用Cr00、Cb00,其他依次类推。

(5)NV12、NV21(属于YUV420)

NV12和NV21属于YUV420格式,是一种two-plane模式,即Y和UV分为两个Plane,但是UV(CbCr)为交错存储,而不是分为三个plane。其提取方式与上一种类似,即Y'00、Y'01、Y'10、Y'11共用Cr00、Cb00。

YUV420 planar数据,以720×480大小图象YUV420 planar为例,其存储格式是:大小为(720×480×3>>1)字节,分为三个部分:Y,U和V :

Y分量:(720×480)个字节;

U(Cb)分量: (720×480>>2)个字节;

V(Cr)分量:(720×480>>2)个字节。

三个部分内部均是行优先存储,三个部分之间是Y,U,V 顺序存储。即:

YUV数据的0----720×480字节是Y分量值,

720×480----720×480×5/4字节是U分量

720×480×5/4----720×480×3/2字节是V分量。

4 :2:2 和4:2:0 转换:

最简单的方式:

YUV4:2:2 ---> YUV4:2:0 Y不变,将U和V信号值在行(垂直方向)在进行一次隔行抽样。YUV4:2:0 ---> YUV4:2:2 Y不变,将U和V信号值的每一行分别拷贝一份形成连续两行数据。

在YUV420中,一个像素点对应一个Y,一个4X4的小方块对应一个U和V。对于所有YUV420图像,它们的Y值排列是完全相同的,因为只有Y的图像就是灰度图像。YUV420sp与YUV420p 的数据格式它们的UV排列在原理上是完全不同的。420p它是先把U存放完后,再存放V,也就是说UV它们是连续的。而420sp它是UV、UV这样交替存放的。(见下图) 有了上面的理论,我就可以准确的计算出一个YUV420在内存中存放的大小。 width * hight =Y(总和)U = Y / 4 V = Y / 4

所以YUV420 数据在内存中的长度是 width * hight * 3 / 2,

假设一个分辨率为8X4的YUV图像,它们的格式如下图:

YUV420sp格式如下图

YUV420p数据格式如下图

旋转90度的算法:

public static void rotateYUV240SP(byte[] src,byte[] des,intwidth,int height)

{

intwh = width * height;

//旋转Y

int k = 0;

for(inti=0;i

for(int j=0;j

{

des[k] = src[width*j + i];

k++;

}

}

for(inti=0;i

for(int j=0;j

{

des[k] = src[wh+ width*j + i];

des[k+1]=src[wh + width*j + i+1];

k+=2;

}

}

}

YV12和I420的区别:

一般来说,直接采集到的视频数据是RGB24的格式,RGB24一帧的大小size=width×heigth×3 byte,RGB32的size=width×heigth×4,如果是I420(即YUV标准格式4:2:0)的数据量是size=width×heigth×1.5byte。在采集到RGB24数据后,需要对这个格式的数据进行第一次压缩。即将图像的颜色空间由RGB2YUV。因为,X264在进行编码的时候需要标准的YUV (4:2:0)。但是这里需要注意的是,虽然YV12也是(4:2:0),但是YV12和I420的却是不同的,在存储空间上面有些区别。如下:

YV12 :亮度(行×列)+U(行×列/4) + V(行×列/4)

I420 :亮度(行×列)+V(行×列/4) + U(行×列/4)

可以看出,YV12和I420基本上是一样的,就是UV的顺序不同。

继续我们的话题,经过第一次数据压缩后RGB24->YUV(I420)。这样,数据量将减少一半,为什么呢?呵呵,这个就太基础了,我就不多写了。同样,如果是RGB24->YUV (YV12),也是减少一半。但是,虽然都是一半,如果是YV12的话效果就有很大损失。然后,经过X264编码后,数据量将大大减少。将编码后的数据打包,通过RTP实时传送。到达目的地后,将数据取出,进行解码。完成解码后,数据仍然是YUV格式的,所以,还需要一次转换,这样windows的驱动才可以处理,就是YUV2RGB24。

YUY2 是4:2:2 [Y0 U0 Y1 V0]

yuv420p 和YUV420的区别在存储格式上有区别

1.yuv420p:yyyyyyyyuuuuuuuuvvvvv

2.yuv420:yuvyuvyuv

YUV420P,Y,U,V三个分量都是平面格式,分为I420和YV12。I420格式和YV12格式的不同处在U平面和V平面的位置不同。在I420格式中,U平面紧跟在Y平面之后,然后才是V平面(即:YUV);但YV12则是相反(即:YVU)。

YUV420SP, Y分量平面格式,UV打包格式, 即NV12。NV12与NV21类似,U 和V 交错排列,不同在于UV顺序。

I420: YYYYYYYY UU VV =>YUV420P

YV12: YYYYYYYY VV UU =>YUV420P

NV12: YYYYYYYY UVUV =>YUV420SP

NV21: YYYYYYYY VUVU =>YUV420SP

YUV是指亮度参量和色度参量分开表示的像素格式,而这样分开的好处就是不但可以避免相互干扰,还可以降低色度的采样率而不会对图像质量影响太大。YUV是一个比较笼统地说法,针对它的具体排列方式,可以分为很多种具体的格式。转载一篇对yuv格式解释的比较清楚地文章,也可以直接参考微软的那篇文章。

对于YUV格式,比较原始的讲解是MPEG-2 VIDEO部分的解释,当然后来微软有一个比较经典的解释,中文的大多是翻译这篇文章的。文章来源:

https://www.doczj.com/doc/eb5566971.html,/en-us/library/aa904813(VS.80).aspx

这里转载有人已经翻译过的,个人认为已经翻译的很不错了,遂放弃翻译。

https://www.doczj.com/doc/eb5566971.html,/blog/cns!776E82726DE60562!177.entry

https://www.doczj.com/doc/eb5566971.html,/blog/cns!776E82726DE60562!178.entry

YUV格式解析1(播放器——project2)

根据板卡api设计实现yuv420格式的视频播放器

打开*.mp4;*.264类型的文件,实现其播放。

使用的视频格式是YUV420格式

YUV格式通常有两大类:打包(packed)格式和平面(planar)格式。前者将YUV分量存放在同一个数组中,通常是几个相邻的像素组成一个宏像素(macro-pixel);而后者使用三个数组分开存放YUV三个分量,就像是一个三维平面一样。表2.3中的YUY2到Y211都是打包格式,而IF09到YVU9都是平面格式。(注意:在介绍各种具体格式时,YUV各分量都会带有下标,如Y0、U0、V0表示第一个像素的YUV分量,Y1、U1、V1表示第二个像素的YUV分量,以此类推。)

MEDIASUBTYPE_YUY2 YUY2格式,以4:2:2方式打包

MEDIASUBTYPE_YUYV YUYV格式(实际格式与YUY2相同)

MEDIASUBTYPE_YVYU YVYU格式,以4:2:2方式打包

MEDIASUBTYPE_UYVY UYVY格式,以4:2:2方式打包

MEDIASUBTYPE_AYUV 带Alpha通道的4:4:4 YUV格式

MEDIASUBTYPE_Y41P Y41P格式,以4:1:1方式打包

MEDIASUBTYPE_Y411 Y411格式(实际格式与Y41P相同)

MEDIASUBTYPE_Y211 Y211格式

MEDIASUBTYPE_IF09 IF09格式

MEDIASUBTYPE_IYUV IYUV格式

MEDIASUBTYPE_YV12 YV12格式

MEDIASUBTYPE_YVU9 YVU9格式

表2.3

YUV 采样

YUV 的优点之一是,色度频道的采样率可比Y 频道低,同时不会明显降低视觉质量。有一种表示法可用来描述U 和V 与Y 的采样频率比例,这个表示法称为A:B:C 表示法:

? 4:4:4 表示色度频道没有下采样。

? 4:2:2 表示2:1 的水平下采样,没有垂直下采样。对于每两个U 样例或V 样例,每个扫描行都包含四

个Y 样例。

? 4:2:0 表示2:1 的水平下采样,2:1 的垂直下采样。

? 4:1:1 表示4:1 的水平下采样,没有垂直下采样。对于每个U 样例或V 样例,每个扫描行都包含四个Y 样例。与其他格式相比,4:1:1 采样不太常用,本文不对其进行详细讨论。

图1 显示了4:4:4 图片中使用的采样网格。灯光样例用叉来表示,色度样例则用圈表示。

图1. YUV 4:4:4 样例位置

4:2:2 采样的这种主要形式在ITU-R Recommendation BT.601 中进行了定义。图2 显示了此标准定义的采样网格。

图2. YUV 4:2:2 样例位置

4:2:0 采样有两种常见的变化形式。其中一种形式用于MPEG-2 视频,另一种形式用于MPEG-1 以及ITU-T recommendations H.261 和H.263。图3 显示了MPEG-1 方案中使用的采样网格,图4 显示了MPEG-2 方案中使用的采样网格。

图3. YUV 4:2:0 样例位置(MPEG-1 方案)

图4. YUV 4:2:0 样例位置(MPEG-2 方案)

与MPEG-1 方案相比,在MPEG-2 方案与为4:2:2 和4:4:4 格式定义的采样网格之间进行转换更简单一些。因此,在Windows 中首选MPEG-2 方案,应该考虑将其作为4:2:0 格式的默认转换方案。

表面定义

本节讲述推荐用于视频呈现的8 位YUV 格式。这些格式可以分为几个类别:

? 4:4:4 格式,每像素32 位

? 4:2:2 格式,每像素16 位

? 4:2:0 格式,每像素16 位

? 4:2:0 格式,每像素12 位

首先,您应该理解下列概念,这样才能理解接下来的内容:

? 表面原点。对于本文讲述的YUV 格式,原点(0,0) 总是位于表面的左上角。

? 跨距。表面的跨距,有时也称为间距,指的是表面的宽度,以字节数表示。对于一个表面原点位于左上角

的表面来说,跨距总是正数。

? 对齐。表面的对齐是根据图形显示驱动程序的不同而定的。表面始终应该DWORD 对齐,就是说,表面中的各个行肯定都是从32 位(DWORD) 边界开始的。对齐可以大于32 位,但具体取决于硬件的需求。? 打包格式与平面格式。YUV 格式可以分为打包格式和平面格式。在打包格式中,Y、U 和V 组件存储在一个数组中。像素被组织到了一些巨像素组中,巨像素组的布局取决于格式。在平面格式中,Y、U 和V

组件作为三个单独的平面进行存储。

4:4:4 格式,每像素32 位

推荐一个4:4:4 格式,FOURCC 码为AYUV。这是一个打包格式,其中每个像素都被编

码为四个连续字节,其组织顺序如下所示。

图5. AYUV 内存布局

标记了A 的字节包含alpha 的值。

4:2:2 格式,每像素16 位

支持两个4:2:2 格式,FOURCC 码如下:

? YUY2

? UYVY

两个都是打包格式,其中每个巨像素都是编码为四个连续字节的两个像素。这样会使得色度水平下采样乘以系数2。

YUY2

在YUY2 格式中,数据可被视为一个不带正负号的char值组成的数组,其中第一个字节

包含第一个Y 样例,第二个字节包含第一个U (Cb) 样例,第三个字节包含第二个Y 样例,第四个字节包含第一个V (Cr) 样例,如图6 所示。

图6. YUY2 内存布局

如果该图像被看作由两个little-endian WORD值组成的数组,则第一个WORD在最低有效位(LSB) 中包含Y0,在最高有效位(MSB) 中包含U。第二个WORD在LSB 中包含Y1,在MSB 中包含V。

YUY2 是用于Microsoft DirectX? Video Acceleration (DirectX VA) 的首选4:2:2 像素格式。预期它会成为支持4:2:2 视频的DirectX VA 加速器的中期要求。

此格式与YUY2 相同,只是字节顺序是与之相反的—就是说,色度字节和灯光字节是翻转的(图7)。如果该图像被看作由两个little-endian WORD值组成的数组,则第一个WORD在LSB 中包含U,在MSB 中包含Y0,第二个WORD在LSB 中包含V,在MSB 中包含Y1。

图7. UYVY 内存布局

4:2:0 格式,每像素16 位

推荐两个4:2:0 每像素16 位格式,FOURCC 码如下:

? IMC1

? IMC3

两个FOURCC 码都是平面格式。色度频道在水平方向和垂直方向上都要以系数2 来进行再次采样。

IMC1

所有Y 样例都会作为不带正负号的char值组成的数组首先显示在内存中。后面跟着所有V (Cr) 样例,然后是所有U (Cb) 样例。V 和U 平面与Y 平面具有相同的跨距,从而生成如图8 所示的内存的未使用区域。

图8. IMC1 内存布局

此格式与IMC1 相同,只是U 和V 平面进行了交换:

图9. IMC3 内存布局

4:2:0 格式,每像素12 位

推荐四个4:2:0 每像素12 位格式,FOURCC 码如下:

? IMC2

? IMC4

? YV12

? NV12

在所有这些格式中,色度频道在水平方向和垂直方向上都要以系数2 来进行再次采样。IMC2

此格式与IMC1 相同,只是V (Cr) 和U (Cb) 行在半跨距边界处进行了交错。换句话说,就是色度区域中的每个完整跨距行都以一行V 样例开始,然后是一行在下一个半跨距边界处开始的U 样例(图10)。此布局与IMC1 相比,能够更加高效地利用地址空间。它的色度地址空间缩小了一半,因此整体地址空间缩小了25%。在各个4:2:0 格式中,IMC2 是第二首选格式,排在NV12 之后。

图10. IMC2 内存布局

IMC4

此格式与IMC2 相同,只是U (Cb) 和V (Cr) 行进行了交换:

图11. IMC4 内存布局

YV12

所有Y 样例都会作为不带正负号的char值组成的数组首先显示在内存中。此数组后面紧接着所有V (Cr) 样例。V 平面的跨距为Y 平面跨距的一半,V 平面包含的行为Y 平面包含行的一半。V 平面后面紧接着所有U (Cb) 样例,它的跨距和行数与V 平面相同(图12)。

图12. YV12 内存布局

NV12

所有Y 样例都会作为由不带正负号的char值组成的数组首先显示在内存中,并且行数为偶数。Y 平面后面紧接着一个由不带正负号的char值组成的数组,其中包含了打包的U (Cb) 和V (Cr) 样例,如图13 所示。当组合的U-V 数组被视为一个由little-endian WORD值组成的数组时,LSB 包含U 值,MSB 包含V 值。NV12 是用于DirectX VA 的首选4:2:0 像素格式。预期它会成为支持4:2:0 视频的DirectX VA 加速器的中期要求。

YUV格式解析2

又确认了一下H264的视频格式——H264支持4:2:0的连续或隔行视频的编码和解码

YUV(亦称YCrCb)是被欧洲电视系统所采用的一种颜色编码方法(属于PAL)。YUV主要用于优化彩色视频信号的传输,使其向后兼容老式黑白电视。与RGB视频信号传输相比,它最大的优点在于只需占用极少的带宽(RGB要求三个独立的视频信号同时传输)。其中“Y”

表示明亮度(Luminance或Luma),也就是灰阶值;而“U”和“V”表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。“亮度”是通过RGB输入信号来创建的,方法是将RGB信号的特定部分叠加到一起。“色度”则定义了颜色的两个方面—色调与饱和度,分别用Cr和CB来表示。其中,Cr反映了GB输入信号红色部分与RGB信号亮度值之间的差异。而CB反映的是RGB输入信号蓝色部分与RGB 信号亮度值之同的差异。

补充一下场的概念——

场的概念不是从DV才开始有的,电视系统已经有了(当然,DV和电视的关系大家都知道)归根结底还是扫描的问题,具体到PAL制式是:

每秒25帧,每帧两场,扫描线(包括电视机的电子束)自上而下先扫描一场,然后再自上而下扫描第二场

之所以引入场的概念,我的理解是主要为了在有限的带宽和成本内使画面运动更加平滑和消除闪烁感。

这两个场的扫描线是一条一条互相间隔开的,比如说对于一个帧来讲,最上面一条线编号为0,紧挨着的是1,再下来是2,3,4,5,6。。。。那么第一场也许是0,2,4,6;也许是1,3,5,7——这就是隔行扫描

在逐行扫描模式下,就是扫描线按照0,1,2,3,4,5的顺序依次扫描,很明显,这时候就不存在场的概念了。

下面区分一下YUV和YCbCr

YUV色彩模型来源于RGB模型,

该模型的特点是将亮度和色度分离开,从而适合于图像处理领域。

应用:模拟领域

Y'= 0.299*R' + 0.587*G' + 0.114*B'

U'= -0.147*R' - 0.289*G' + 0.436*B' = 0.492*(B'- Y')

V'= 0.615*R' - 0.515*G' - 0.100*B' = 0.877*(R'- Y')

R' = Y' + 1.140*V'

G' = Y' - 0.394*U' - 0.581*V'

B' = Y' + 2.032*U'

YCbCr模型来源于YUV模型。YCbCr是YUV 颜色空间的偏移版本.

应用:数字视频,ITU-R BT.601建议

Y’= 0.257*R' + 0.504*G' + 0.098*B' + 16

Cb' = -0.148*R' - 0.291*G' + 0.439*B' + 128

Cr' = 0.439*R' - 0.368*G' - 0.071*B' + 128

R' = 1.164*(Y’-16) + 1.596*(Cr'-128)

G' = 1.164*(Y’-16) - 0.813*(Cr'-128) - 0.392*(Cb'-128)

B' = 1.164*(Y’-16) + 2.017*(Cb'-128)

PS: 上面各个符号都带了一撇,表示该符号在原值基础上进行了伽马校正,伽马校正有助于弥补在抗锯齿的过程中,线性分配伽马值所带来的细节损失,使图像细节更加丰富。在没有采用伽马校正的情况下,暗部细节不容易显现出来,而采用了这一图像增强技术以后,图像的层次更加明晰了。

所以说H264里面的YUV应属于YCbCr.

下面再仔细谈谈YUV格式, YUV格式通常有两大类:打包(packed)格式和平面(planar)格式。前者将YUV分量存放在同一个数组中,通常是几个相邻的像素组成一个宏像素(macro-pixel);而后者使用三个数组分开存放YUV三个分量,就像是一个三维平面一样。我们常说得YUV420属于planar格式的YUV, 颜色比例如下:

Y0U0V0 Y1 Y2U2V2 Y3

Y4 Y5 Y6 Y7

Y8U8V8 Y9 Y10U10V10 Y11

Y12 Y13 Y14 Y15

其他格式YUV可以点这里查看详细内容, 而在YUV文件中YUV420又是怎么存储的呢? 在常见H264测试的YUV序列中,例如CIF图像大小的YUV序列(352*288),在文件开始并没有文件头,直接就是YUV数据,先存第一帧的Y信息,长度为352*288个byte, 然后是第一帧U信息长度是352*288/4个byte, 最后是第一帧的V信息,长度是352*288/4个byte, 因此可以算出第一帧数据总长度是352*288*1.5,即152064个byte, 如果这个序列是300帧的话, 那么序列总长度即为152064*300=44550KB,这也就是为什么常见的300帧CIF序列总是44M的原因.

4:4:4采样就是说三种元素Y,Cb,Cr有同样的分辨率,这样的话,在每一个像素点上都对这三种元素进行采样.数字4是指在水平方向上对于各种元素的采样率,比如说,每四个亮度采样点就有四个Cb的Cr采样值.4:4:4采样完整地保留了所有的信息值.4:2:2采样中(有时记为YUY2),色度元素在纵向与亮度值有同样的分辨率,而在横向则是亮度分辨率的一半(4:2:2表示每四个亮度值就有两个Cb和Cr采样.)4:2:2视频用来构造高品质的视频彩色信号.

在流行的4:2:0采样格式中(常记为YV12)Cb和Cr在水平和垂直方向上有Y分辨率的一半.4:2:0有些不同,因为它并不是指在实际采样中使用4:2:0,而是在编码史中定义这种编码方法是用来区别于4:4:4和4:2:2方法的).4:2:0采样被广泛地应用于消费应用中,比如视

频会议,数字电视和DVD存储中。因为每个颜色差别元素中包含了四分之一的Y采样元素量,那么4:2:0YCbCr视频需要刚好4: 4:4或RGB视频中采样量的一半。

4:2:0采样有时被描述是一个"每像素12位"的方法。这么说的原因可以从对四个像素的采样中看出. 使用4:4:4采样,一共要进行12次采样,对每一个Y,Cb和Cr,就需要12*8=96位,平均下来要96/4=24位。使用4:2:0就需要6*8 =48位,平均每个像素48/4=12位。

在一个4:2:0隔行扫描的视频序列中,对应于一个完整的视频帧的Y,Cb,Cr采样分配到两个场中。可以得到,隔行扫描的总采样数跟渐进式扫描中使用的采样数目是相同的。

对比一下:

Y41P(和Y411)(packed格式)格式为每个像素保留Y分量,而UV分量在水平方向上每4个像素采样一次。一个宏像素为12个字节,实际表示8个像素。图像数据中YUV分量排列顺序如下:U0 Y0 V0 Y1 U4 Y2 V4 Y3 Y4 Y5 Y6 Y8 …

IYUV格式(planar)为每个像素都提取Y分量,而在UV分量的提取时,首先将图像分成若干个2 x 2的宏块,然后每个宏块提取一个U分量和一个V分量。YV12格式与IYUV类似,但仍然是平面模式。

YUV411、YUV420格式多见于DV数据中,前者用于NTSC制,后者用于PAL制。YUV411为每个像素都提取Y分量,而UV分量在水平方向上每4个像素采样一次。YUV420并非V分量采样为0,而是跟YUV411相比,在水平方向上提高一倍色差采样频率,在垂直方向上以U/V间隔的方式减小一半色差采样,如下图所示。

(好像显示不出来突下图像)

各种格式的具体使用位数的需求(使用4:2:0采样,对于每个元素用8个位大小表示):

格式: Sub-QCIF 亮度分辨率: 128*96 每帧使用的位: 147456

格式: QCIF 亮度分辨率: 176*144 每帧使用的位: 304128

格式: CIF 亮度分辨率: 352*288 每帧使用的位: 1216512

格式: 4CIF 亮度分辨率: 704*576 每帧使用的位: 4866048

BMP图像格式详解

BMP格式图像文件详析 首先请注意所有的数值在存储上都是按“高位放高位、低位放低位的原则”,如12345678h放在存储器中就是7856 3412)。下图是导出来的开机动画的第一张图加上文件头后的16进制数据,以此为例进行分析。T408中的图像有点怪,图像是在电脑上看是垂直翻转的。在分析中为了简化叙述,以一个字(两个字节为单位,如424D就是一个字)为序号单位进行,“h”表示是16进制数。 424D 4690 0000 0000 0000 4600 0000 2800 0000 8000 0000 9000 0000 0100*1000 0300 0000 0090 0000 A00F 0000 A00F 0000 0000 0000 0000 0000*00F8 0000 E007 0000 1F00 0000 0000 0000*02F1 84F1 04F1 84F1 84F1 06F2 84F1 06F2 04F2 86F2 06F2 86F2 86F2 ...... BMP文件可分为四个部分:位图文件头、位图信息头、彩色板、图像数据阵列,在上图中已用*分隔。 一、图像文件头 1)1:图像文件头。424Dh=’BM’,表示是Windows支持的BMP 格式。

2)2-3:整个文件大小。4690 0000,为00009046h=36934。 3)4-5:保留,必须设置为0。 4)6-7:从文件开始到位图数据之间的偏移量。4600 0000,为00000046h=70,上面的文件头就是35字=70字节。 5)8-9:位图图信息头长度。 6)10-11:位图宽度,以像素为单位。8000 0000,为00000080h=128。 7)12-13:位图高度,以像素为单位。9000 0000,为00000090h=144。 8)14:位图的位面数,该值总是1。0100,为0001h=1。 二、位图信息头 9)15:每个像素的位数。有1(单色),4(16色),8(256色),16(64K色,高彩色),24(16M色,真彩色),32(4096M色,增强

多媒体常见五种图像格式详解

多媒体常见五种图像格式详解 【摘要】:自此互联网以及PC的飞速发展,我们的日常生活已经高度的信息化了,多媒体应用技术也不断地深入到我们的生活中。图像、视频这些最直观的信息无时无刻的充斥着我们的眼球。这时我们需要在繁多的图像种类中辨别以及选择我们所要用到的图像种类来准确完整地传达信息。本文通过对多媒体常见的五种图像格式的详细介绍从而可以深刻的了解图像的格式特点及其应用。 【关键词】:多媒体互联网常见图像格式 一.引言 现在的互联网和多媒体技术的高速发展,多媒体的图形图像以其蕴含的信息量优美直观地显现于人们的视网膜中,给人们以绚丽丰富的视觉效果。但是多媒体图像又因其种类繁多而不能被人们所一一了解,甚至是最常见的图像格式也只是对其格式名略有耳闻。那么,本文将对多媒体常见的图像格式做一番简述,介绍它们的特性和不同点以及其实用性。 二.五种图像格式详解 1、BMP图像 BMP图像,即通常所说的位图(Bitmap),是最早应用于Windows操作系统,也是Windows操作系统中的标准图像文件格式,在Windows环境中运行的图形图像软件都支持BMP图像格式。因而这种格式的图像是最常见最简单的,像我们常用的桌面壁纸一般都是BMP格式图像。 BMP图像文件的文件结构一般认为包括了三部分:表头、调色板和图像像素数据,再细分的话,表头部分有分文件头和位图信息头。表头长度为54个字节,内容包括了BMP文件的类型、文件的大小、位图文件的保留字、位图数据距文件头的偏移量以及位图的尺寸等信息。调色板中有若干个表项相对应地定义一种颜色,从而说明位图中的颜色。只有全彩色BMP图像文件内没有调色板数据,其余不超过256种颜色的图像文件都必须设定调色板信息(电视节目制作中的图形图像格式)。图像像素数据每一个点代表一个像素值,它有着比较独特的记录方式:位图中的像素值是以在扫描行内从左到右、扫描行之间从下到上这样的顺序记录的。 BMP图像文件有下列3个特点:

JPEG图像格式详解

JPEG图像格式详解 JPEG压缩简介 ------------- 1.色彩模型 JPEG的图片使用的是YCrCb颜色模型,而不是计算机上最常用的RGB.关于色彩模型,这里不多阐述.只是说明,YCrCb模型更适合图形压缩.因为人眼对图片上的亮度Y的变化远比色度C的变化敏感.我们完全可以每个点保存一个8bit的亮度值,每2x2个点保存一个Cr Cb值,而图象在肉眼中的感觉不会起太大的变化.所以,原来用RGB模型,4个点需要4x3=12字节.而现在仅需要4+2=6字节;平均每个点占12bit.当然JPEG格式里允许每个点的C值都记录下来;不过MPEG里都是按12bit一个点来存放的,我们简写为YUV12. [R G B]->[Y Cb Cr]转换 ------------------------- (R,G,B都是8bit unsigned) |Y||0.2990.5870.114||R||0| |Cb|=|-0.1687-0.33130.5|*|G|+|128| |Cr||0.5-0.4187-0.0813||B||128| Y=0.299*R+0.587*G+0.114*B(亮度) Cb=-0.1687*R-0.3313*G+0.5*B+128 Cr=0.5*R-0.4187*G-0.0813*B+128 [Y,Cb,Cr]->[R,G,B]转换 ------------------------- R=Y+ 1.402*(Cr-128) G=Y-0.34414*(Cb-128)-0.71414*(Cr-128) B=Y+ 1.772*(Cb-128) 一般,C值(包括Cb Cr)应该是一个有符号的数字,但这里被处理过了,方法是加上了128.JPEG里的数据都是无符号8bit的. 2.DCT(离散余弦变换) JPEG里,要对数据压缩,先要做一次DCT变换.DCT变换的原理,涉及到数学知识,这里我们不必深究.反正和傅立叶变换(学过高数的都知道)是差不多了.经过

JPEG图像格式详解

JPEG图像格式详解 JPEG 压缩简介 ------------- 1. 色彩模型 JPEG 的图片使用的是 YCrCb 颜色模型, 而不是计算机上最常用的 RGB. 关于色彩模型, 这里不多阐述. 只是说明, YCrCb 模型更适合图形压缩. 因为人眼对图片上的亮度 Y 的变化远比色度 C 的变化敏感. 我们完全可以每个点保存一个 8bit 的亮度值, 每 2x2 个点保存一个 Cr Cb 值, 而图象在肉眼中的感觉不会起太大的变化. 所以, 原来用 RGB 模型, 4 个点需要 4x3=12 字节. 而现在仅需要 4+2=6 字节; 平均每个点占 12bit. 当然 JPEG 格式里允许每个点的 C 值都记录下来; 不过 MPEG 里都是按 12bit 一个点来存放的, 我们简写为 YUV12. [R G B] -> [Y Cb Cr] 转换 ------------------------- (R,G,B 都是 8bit unsigned) | Y | | 0.299 0.587 0.114 | | R | | 0 | | Cb | = |- 0.1687 - 0.3313 0.5 | * | G | + |128| | Cr | | 0.5 - 0.4187 - 0.0813| | B | |128| Y = 0.299*R + 0.587*G + 0.114*B (亮度) Cb = - 0.1687*R - 0.3313*G + 0.5 *B + 128 Cr = 0.5 *R - 0.4187*G - 0.0813*B + 128 [Y,Cb,Cr] -> [R,G,B] 转换 ------------------------- R = Y + 1.402 *(Cr-128) G = Y - 0.34414*(Cb-128) - 0.71414*(Cr-128) B = Y + 1.772 *(Cb-128) 一般, C 值 (包括 Cb Cr) 应该是一个有符号的数字, 但这里被处理过了, 方法是加上了 128. JPEG 里的数据都是无符号 8bit 的. 2. DCT (离散余弦变换) JPEG 里, 要对数据压缩, 先要做一次 DCT 变换. DCT 变换的原理, 涉及到数学知识, 这里我们不必深究. 反正和傅立叶变换(学过高数的都知道) 是差不多了. 经过这个变换, 就把图片里点和点间的规律呈现出来了, 更方便压缩.JPEG 里是对每 8x8

图像格式详细解析

YUV格式详解 1.什么是RGB? RGB是红绿蓝三原色的意思,R=Red、G=Green、B=Blue。 2.什么是YUV/YCbCr/YPbPr? 亮度信号经常被称作Y,色度信号是由两个互相独立的信号组成。视颜色系统和格式不同,两种色度信号经常被称作U和V或Pb和Pr或Cb和Cr。这些都是由不同的编码格式所产生的,但是实际上,他们的概念基本相同。在DVD中,色度信号被存储成Cb和Cr (C代表颜色,b代表蓝色,r代表红色)。 3.什么是4:4:4、4:2:2、4:2:0? 在最近十年中,视频工程师发现人眼对色度的敏感程度要低于对亮度的敏感程度。在生理学中,有一条规律,那就是人类视网膜上的视网膜杆细胞要多于视网膜锥细胞,说得通俗一些,视网膜杆细胞的作用就是识别亮度,而视网膜锥细胞的作用就是识别色度。所以,你的眼睛对于亮和暗的分辨要比对颜色的分辨精细一些。正是因为这个,在我们的视频存储中,没有必要存储全部颜色信号。既然眼睛看不见,那为什么要浪费存储空间(或者说是金钱)来存储它们呢? 像Beta或VHS之类的消费用录像带就得益于将录像带上的更多带宽留给黑—白信号(被称作“亮度”),将稍少的带宽留给彩色信号(被称作“色度”)。 在MPEG2(也就是DVD使用的压缩格式)当中,Y、Cb、Cr信号是分开储存的(这就是为什么分量视频传输需要三条电缆)。其中Y信号是黑白信号,是以全分辨率存储的。但是,由于人眼对于彩色信息的敏感度较低,色度信号并不是用全分辨率存储的。 色度信号分辨率最高的格式是4:4:4,也就是说,每4点Y采样,就有相对应的4点Cb和4点Cr。换句话说,在这种格式中,色度信号的分辨率和亮度信号的分辨率是相同的。这种格式主要应用在视频处理设备内部,避免画面质量在处理过程中降低。当图像被存储到Master Tape,比如D1或者D5,的时候,颜色信号通常被削减为4:2:2。

医学图像格式分析与转换

医学图像格式分析与转换 本文分为三个部分——医学图像及其组成、医学图像格式和医学图像的格式转换。本文希望通过对深度学习的相关知识的介绍,最终达到医学图像分析的目的。 医学图像及其组成 由Michele Larobina和Loredana Murino发表的论文,对本文即将展开的讨论来说是一个很好的信息参考。Michele Larobina和Loredana Murino二人是意大利“生物架构和生物成像协会”(IBB)的成员。IBB是意大利“国家研究委员会”的组成部分,同时也是意大利最大的公共研究机构。我们的另一个参考信息资源是一篇题为《Working with the DICOM and NIfTI data standards in R》的论文。 ?什么是医学图像? 医学图像是反映解剖区域内部结构或内部功能的图像,它是由一组图像元素——像素(2D)或立体像素(3D)——组成的。医学图像是由采样或重建产生的离散性图像表征,它能将数值映射到不同的空间位置上。像素的数量是用来描述某一成像设备下的医学成像的,同时也是描述解剖及其功能细节的一种表达方式。像素所表达的具体数值是由成像设备、成像协议、影像重建以及后期加工所决定的。 ?医学图像的组成

医学图像组成医学图像有四个关键成分——像素深度、光度表示、元数据和像素数据。这些成分与图像大小和图像分辨率有关。 图像深度(又称比特深度或颜色深度)是用来编码每个像素信息的比特数。比如说,一个8比特的光栅可以有256个从0到255数值不等的图像深度。 “光度表示”解释了像素数据如何以正确的图像格式(单色或彩色图片)显示。为了说明像素数值中是否存在色彩信息,我们将引入“每像素采样数”的概念。单色图像只有一个“每像素采样”,而且图像中没有色彩信息。图像是依靠由黑到白的灰阶来显示的,灰阶的数目很明显取决于用来储存样本的比特数。在这里,灰阶数与像素深度是一致的。医疗放射图像,比如CT 图像和磁共振(MR)图像,是一个灰阶的“光度表示”。而核医学图像,比如正电子发射断层图像(PET)和单光子发射断层图像(SPECT),通常都是以彩色映射或调色板来显示的。 “元数据”是用于描述图形象的信息。它可能看起来会比较奇怪,但是在任何一个文件格式中,除了像素数据之外,图像还有一些其他的相关信息。这样的图像信息被称为“元数据”,它通常以“数据头”的格式被储存在文件的开头,涵盖了图像矩阵维度、空间分辨率、像素深度和光度表示等信息。

BMP图像格式分析

BMP图像格式分析 BMP图像文件格式是微软公司为其Windows环境设置的标准图像格式,而且 Windows系统软件中还同时内含了一系列支持BMP图像处理的API函数,随着Windows 在世界范围内的不断普及,BMP文件格式无疑也已经成为PC机上的流行图像文件格式。它的主要特点可以概括为:文件结构与PCX文件格式类似,每个文件只能存放一幅图像;图像数据是否采用压缩方式存放,取决于文件的大小与格式,即压缩处理成为图像文件的一个选项,用户可以根据需要进行选择。其中,非压缩格式是BMP图像文件所采用的一种通用格式。但是,如果用户确定将BMP文件格式压缩处理,则Windows设计了两种压缩方式:如果图像为16色模式,则采用RLE4压缩方式,若图像为256色模式,则采用RLE8压缩方式。同时,BMP 图像文件格式可以存储单色、16色、256色以及真彩色四种图像数据,,其数据的排列顺序与一般文件不同,它以图像的左下角为起点存储图像,而不是以图像的左上角为起点;而且BMP图像文件格式中还存在另外一个与众不同的特点,即其调色板数据所采用的数据结构中,红、绿、蓝三种基色数据的排列顺序也恰好与其它图像文件格式相反。总之,BMP图像文件格式拥有许多适合于Windows环境的新特色,而且随着Windows版本的不断更新,微软公司也在不断改进其BMP 图像文件格式,例如:当前BMP图像文件版本中允许采用32位颜色表,而且针对32位Windows 的产生,相应的API 函数也在不断地报陈出新,这些无疑都同时促成了BMP文件格式的不断风靡。但由于BMP文件格式只适合于Windows上的应用软件,而对于DOS环境中的各种应用软件则无法提供相应的支持手段,因此这无疑是阻碍BMP文件格式的流通程度超过PCX文件格式的一个重要因素。 Windows中定义了两种位图文件类型,即一般位图文件格式与设备无关位图文件格式。其中,由于设备无关位图(DIB)文件格式具有更强的灵活性与完整的图像数据、压缩方式等定义。BMP图像文件的结构可以分为如下三个部分:文件头、调色板数据以及图像数据。其中文件头的长度为固定值54个字节;调色板数据对所有不超过256色的图像模式都需要进行设置,即使是单色图像模式也不例外,但是对于真彩色图像模式,其对应的BMP文件结构中却不存在相应调色板数据的设置信息;图像数据既可以采用一定的压缩算法进行处理,也可以不必对图像数据进行压缩处理,这不仅与图像文件的大小相关,而且也与对应的图像处理软件是否支持经过压缩处理的BMP图像文件相关。以下将分别介绍BMP图像文件结构中的这三个重要组成部分。特别值得注意的是:BMP 图像文件结构设计得相当简单,这无疑有利于图像文件的处理速度,但是同时也使得 BMP图像文件格式具有一定的局限性,即一个BMP图像文件只能存储一幅图像。 BMP图像文件的文件头定义 Windows中将BMP图像文件的文件头分成两个数据结构,其中一个数据结构中包含BMP文件的类型、大小和打印格式等信息,称为BITMAPFILEHEADERl另外一个数据结构中则包含BMP文件的尺寸定义等信息,称为BITMAPINFOHEADERl 如果图像文件还需要调色板数据,则将其存放在文件头信息之后。 BITMAPFIlEHEADER数据结构在Windows.h中的定义为: typedef struCttagBITMAPFIlEHEADER { WORD bftype; DWORD bfsiZe: WORD bfReservedl; WORD bgReserved2: DWORD bfoffBits: }BITMAPFILEHEADER; 其中,bfrype在图像文件存储空间中的数据地址为0,数据类型为unsignedchar,内容为固定值“BM”,用于标志文件格式,表示该图像文件为BMP文件。 bfsize的数据地址为2,类型为unsignedlong,它以字节为单位,定义位图文件的大小。 bfReservedl与bfReserved2的数据地址分别为6和8,数据类型则都为unsignedint,二者都是BMP文件的保留字,没有任何意义,其值必须为0. bfoffBits的数据地址为10,数据类型为unsignedlong,它以字节为单位,指示图像数据在文件内的起始地址,即图像数

BMP图片格式详解

BMP图像格式详解 一.简介 BMP(Bitmap-File)图形文件是Windows采用的图形文件格式,在Windows环境下运行的所有图象处理软件都支持BMP图象文件格式。Windows系统内部各图像绘制操作都是以BMP为基础的。Windows 3.0以前的BMP图文件格式与显示设备有关,因此把这种BMP图象文件格式称为设备相关位图DDB(device-dependent bitmap)文件格式。Windows 3.0以后的BMP图象文件与显示设备无关,因此把这种BMP图象文件格式称为设备无关位图DIB(device-independent bitmap)格式(注:Windows 3.0以后,在系统中仍然存在DDB位图,象BitBlt()这种函数就是基于DDB位图的,只不过如果你想将图像以BMP格式保存到磁盘文件中时,微软极力推荐你以DIB格式保存),目的是为了让Windows能够在任何类型的显示设备上显示所存储的图象。BMP位图文件默认的文件扩展名是BMP或者bmp(有时它也会以.DIB或.RLE作扩展名)。 二.BMP格式结构 BMP文件的数据按照从文件头开始的先后顺序分为四个部分: ◆位图文件头(bmp file header):提供文件的格式、大小等信息 ◆位图信息头(bitmap information):提供图像数据的尺寸、位平面数、压缩方式、颜色索 引等信息 ◆调色板(color palette):可选,如使用索引来表示图像,调色板就是索引与其对应的颜色 的映射表 ◆位图数据(bitmap data):图像数据区 BMP图片文件数据表如下:

三.BMP文件头 BMP文件头结构体定义如下: typedef struct tagBITMAPFILEHEADER { UINT16 bfType; //2Bytes,必须为"BM",即0x424D 才是Windows位 图文件 DWORD bfSize; //4Bytes,整个BMP文件的大小 UINT16 bfReserved1; //2Bytes,保留,为0 UINT16 bfReserved2; //2Bytes,保留,为0 DWORD bfOffBits; //4Bytes,文件起始位置到图像像素数据的字节偏移量} BITMAPFILEHEADER; BMP文件头数据表如下:

《数字图像处理》习题参考答案与解析

《数字图像处理》习题参考答案 第1 章概述 1.1 连续图像和数字图像如何相互转换?答:数字图像将图像看成是许多大小相同、 形状一致的像素组成。这样,数字图像可以 用二维矩阵表示。将自然界的图像通过光学系统成像并由电子器件或系统转化为模拟图像(连续图像)信号,再由模拟/数字转化器(ADC)得到原始的数字图像信号。图像的数字化包括离散和量化两个主要步骤。在空间将连续坐标过程称为离散化,而进一步将图像的幅度值(可能是灰度或色彩)整数化的过程称为量化。 1.2 采用数字图像处理有何优点?答:数字图像处理与光学等 模拟方式相比具有以下鲜明的特点: 1.具有数字信号处理技术共有的特点。(1)处理精度高。(2)重现性能好。(3)灵活性高。 2.数字图像处理后的图像是供人观察和评价的,也可能作为机器视觉的预处理结果。 3.数字图像处理技术适用面宽。 4.数字图像处理技术综合性强。 1.3 数字图像处理主要包括哪些研究内容?答:图像处理的任务是将客观世界的景象进 行获取并转化为数字图像、进行增强、变换、 编码、恢复、重建、编码和压缩、分割等处理,它将一幅图像转化为另一幅具有新的意义的图像。 1.4 讨论数字图像处理系统的组成。列举你熟悉的图像处理系统并分析它们的组成和功能。 答:如图1.8,数字图像处理系统是应用计算机或专用数字设备对图像信息进行处理的信息系统。图像处理系统包括图像处理硬件和图像处理软件。图像处理硬件主要由图像输入设备、图像运算处理设备(微计算机)、图像存储器、图像输出设备等组成。软件系统包括操作系统、控制软件及应用软件等。 图1.8 数字图像处理系统结构 图 1

1.5 常见的数字图像处理开发工具有哪些?各有什么特点? 答.目前图像处理系统开发的主流工具为 Visual C++(面向对象可视化集成工具) 和 MATLAB 的图像处理工具箱(Image Processing Tool box)。两种开发工具各有所长且有 相互间的软件接口。 Microsoft 公司的 VC++是一种具有高度综合性能的面向对象可视化集成工具,用它开 发出来的 Win 32 程序有着运行速度快、可移植能力强等优点。VC++所提供的 Microsoft 基础类库 MFC 对大部分与用户设计有关的 Win 32 应用程序接口 API 进行了封装,提高 了代码的可重用性,大大缩短了应用程序开发周期,降低了开发成本。由于图像格式多且 复杂,为了减轻程序员将主要精力放在特定问题的图像处理算法上,VC++ 6.0 提供的动 态链接库 ImageLoad.dll 支持BMP、JPG、TIF 等常用6 种格式的读写功能。 MATLAB 的图像处理工具箱MATLAB 是由MathWorks 公司推出的用于数值计算的有力工具,是一种第四代计算机语言,它具有相当强大的矩阵运算和操作功能,力求使人们摆脱繁 杂的程序代码。MATLAB 图像处理工具箱提供了丰富的图像处理函数,灵活运用这些函数可 以完成大部分图像处理工作,从而大大节省编写低层算法代码的时间,避免程序设计中的重 复劳动。MATLAB 图像处理工具箱涵盖了在工程实践中经常遇到的图像处理手段和算法,如 图形句柄、图像的表示、图像变换、二维滤波器、图像增强、四叉树分解域边缘检测、二值 图像处理、小波分析、分形几何、图形用户界面等。但是,MATLAB 也存在不足之处限制了 其在图像处理软件中实际应用。首先,强大的功能只能在安装有MA TLAB 系统的机器上使用 图像处理工具箱中的函数或自编的 m 文件来实现。其次,MATLAB 使用行解释方式执行代码,执行速度很慢。第三,MATLAB 擅长矩阵运算,但对于循环处理和图形界面的处理不及C++ 等语言。为此,通应用程序接口API 和编译器与其他高级语言(如C、 C++、Java 等)混 合编程将会发挥各种程序设计语言之长协同完成图像处理任务。API 支持 MA TLAB 与外部数 据与程序的交互。编译器产生独立于MATLAB 环境的程序,从而使其他语言的应用程序使用MATLAB。 1.6 常见的数字图像应用软件有哪些?各有什么特点?答:图像应用软件是可直接供 用户使用的商品化软件。用户从使用功能出发,只要了解 软件的操作方法就可以完成图像处理的任务。对大部分用户来说,商品化的图像应用软件无 需用户进行编程,操作方便,功能齐全,已经能满足一般需求,因而得到广泛应用。常用图 像处理应用软件有以下几种: 1.PHOTOSHOP:当今世界上一流的图像设计与制作工具,其优越性能令其产品望尘莫及。PHOTOSHOP 已成为出版界中图像处理的专业标准。高版本的 PHOTOSHOP 支持多达 20 多种图像格式和 TWAIN 接口,接受一般扫描仪、数码相机等图像输入设备采集的图像。PHOTOSHOP 支持多图层的工作方式,只是 PHOTOSHOP 的最大特色。使用图层功能可以很 方便地编辑和修改图像,使平面设计充满创意。利用 PHOTOSHOP 还可以方便地对图像进 行各种平面处理、绘制简单的几何图形、对文字进行艺术加工、进行图像格式和颜色模式 的转换、改变图像的尺寸和分辨率、制作网页图像等。 2.CorelDRAW:一种基于矢量绘图、功能强大的图形图像制作与设计软件。位图式图像是 由象素组成的,与其相对,矢量式图像以几何、色彩参数描述图像,其内容以线条和色块为主。可见,采用不同的技术手段可以满足用户的设计要求。位图式图像善于表现连续、丰富 色调的自然景物,数据量较大;而矢量式图像强于表现线条、色块的图案,数据量较小。 合理的利用两种不同类型的图像表现方式,往往会收到意想不到的艺术效果。CorelDraw是

(完整版)数字图像处理复习题(选择题及相应答案)解析

第一章 1.1.1可以用f(x,y)来表示:(ABD) A、一幅2-D数字图像 B、一个在3-D空间中的客观景物的投影; C 2-D空间XY中的一个坐标的点的位置; D、在坐标点(X,Y)的某种性质F的数值。 提示:注意3个符号各自的意义 1.1.2、一幅数字图像是:(B) A、一个观测系统; B、一个有许多像素排列而成的实体; C、一个2-D数组中的元素 D、一个3-D空间的场景。 提示:考虑图像和数字图像的定义 1.2.2、已知如图1.2.2中的2个像素P和Q,下面说法正确的是:(C) A、2个像素P和Q直接的De距离比他们之间的D4距离和D8距离都短: B、2个像素p和q之间的D4距离为5; C、2个像素p和q之间的D8距离为5; D、2个像素p和q之间的De距离为5。 1.4.2、半调输出技术可以:(B) A、改善图像的空间分辨率; B、改善图像的幅度分辨率; C、利用抖动技术实现; D、消除虚假轮廓现象。 提示:半调输出技术牺牲空间分辨率以提高幅度分辨率 1.4.3、抖动技术可以(D) A、改善图像的空间分辨率; B、改善图像的幅度分辨率; C、利用半输出技术实现; D、消除虚假轮廓现象。 提示:抖动技术通过加入随即噪声,增加了图像的幅度输出值的个数 1.5.1、一幅256*256的图像,若灰度级数为16,则存储它所需的比特数是:(A) A、256K B、512K C、1M C、2M 提示:表达图像所需的比特数是图像的长乘宽再乘灰度级数对应的比特数。1.5.2、图像中虚假轮廓的出现就其本质而言是由于:(A)(平滑区域内灰度应缓慢变化,但当图像的灰度级数不够多时会产生阶跃) A、图像的灰度级数不够多造成的; B、图像的空间分辨率不够高造成; C、图像的灰度级数过多造成的 D、图像的空间分辨率过高造成。 提示:图像中的虚假轮廓最易在平滑区域内产生。 1.5.3、数字图像木刻画效果的出现是由于下列原因所产生的:(A) A、图像的幅度分辨率过小; B、图像的幅度分辨率过大; C、图像的空间分辨率过小; D、图像的空间分辨率过大;

很详细的bitmap图象格式详解!

Bitmaps should be saved in a file that uses the established bitmap file format and assigned a name with the three-character .bmp extension. The established bitmap file format consists of a BITMAPFILEHEADER structure followed by a BITMAPINFOHEADER, BITMAPV4HEADER, or BITMAPV5HEADER structure. An array of RGBQUAD structures (also called a color table) follows the bitmap information header structure. The color table is followed by a second array of indexes into the color table (the actual bitmap data). The bitmap file format is shown in the following illustration. Windows 95, Windows NT 4.0: Replace the BITMAPINFOHEADER structure with the BITMAPV4HEADER structure. Windows 98/Me, Windows 2000/XP: Replace the BITMAPINFOHEADER structure with the BITMAPV5HEADER structure. The members of the BITMAPFILEHEADER structure identify the file; specify the size of the file, in bytes; and specify the offset from the first byte in the header to the first byte of bitmap data. The members of the BITMAPINFOHEADER, BITMAPV4HEADER, or BITMAPV5HEADER structure specify the width and height of the bitmap, in pixels; the color format (count of color planes and color bits-per-pixel) of the display device on which the bitmap was created; whether the bitmap data was compressed before storage and the type of compression used; the number of bytes of bitmap data; the resolution of the display device on which the bitmap was created; and the number of colors represented in the data. The RGBQUAD structures specify the RGB intensity values for each of the colors in the device's palette. The color-index array associates a color, in the form of an index to an RGBQUAD structure, with each pixel in a bitmap. Thus, the number of bits in the color-index array equals the number of pixels times the number of bits needed to index the RGBQUAD structures. For example, an 8x8 black-and-white bitmap has a color-index array of 8 * 8 * 1 = 64 bits, because one bit is needed to index two colors. The Redbrick.bmp, mentioned in About Bitmaps, is a 32x32 bitmap with 16 colors; its color-index array is 32 * 32 * 4 = 4096 bits because four bits index 16 colors. To create a color-index array for a top-down bitmap, start at the top line in the bitmap. The index of the RGBQUAD for the color of the left-most pixel is the first n bits in the color-index array (where n is the number of bits needed to indicate all of the RGBQUAD structures). The color of the next pixel to the right is the next n bits in the array, and so forth. After you reach the right-most pixel in the line, continue with the left-most pixel in the line below. Continue until you finish with the entire bitmap. If it is a bottom-up bitmap, start at the bottom line of the bitmap instead of the top line, still going from left to right, and continue to the top line of the bitmap.

图像格式详细解析

格式详解 .什么是? 是红绿蓝三原色的意思,、、。 .什么是? 亮度信号经常被称作,色度信号是由两个互相独立的信号组成。视颜色系统和格式不同,两种色度信号经常被称作和或和或和。这些都是由不同的编码格式所产生的,但是实际上,他们的概念基本相同。在中,色度信号被存储成和(代表颜色,代表蓝色,代表红色)。 .什么是、、? 在最近十年中,视频工程师发现人眼对色度的敏感程度要低于对亮度的敏感程度。在生理学中,有一条规律,那就是人类视网膜上的视网膜杆细胞要多于视网膜锥细胞,说得通俗一些,视网膜杆细胞的作用就是识别亮度,而视网膜锥细胞的作用就是识别色度。所以,你的眼睛对于亮和暗的分辨要比对颜色的分辨精细一些。正是因为这个,在我们的视频存储中,没有必要存储全部颜色信号。既然眼睛看不见,那为什么要浪费存储空间(或者说是金钱)来存储它们呢? 像或之类的消费用录像带就得益于将录像带上的更多带宽留给黑—白信号(被称作“亮度”),将稍少的带宽留给彩色信号(被称作“色度”)。 在(也就是使用的压缩格式)当中,、、信号是分开储存的(这就是为什么分量视频传输需要三条电缆)。其中信号是黑白信号,是以全分辨率存储的。但是,由于人眼对于彩色信息的敏感度较低,色度信号并不是用全分辨率存储的。 色度信号分辨率最高的格式是,也就是说,每点采样,就有相对应的点和点。换句话说,在这种格式中,色度信号的分辨率和亮度信号的分辨率是相同的。这种格式主要应用在视频处理设备内部,避免画面质量在处理过程中降低。当图像被存储到,比如或者,的时候,颜色信号通常被削减为。

在图中,你可以看到格式的亮度、色度采样分布。就像图中所表示的,画面中每个象素都有与之对应的色度和亮度采样信息。[] 其次就是,就是说,每点采样,就有点和点。在这种格式中,色度信号的扫描线数量和亮度信号一样多,但是每条扫描线上的色度采样点数却只有亮度信号的一半。当信号被解码的时候,“缺失”的色度采样,通常由一定的内插补点算法通过它两侧的色度信息运算补充。 看格式亮度、色度采样的分布情况。在这里,每个象素都有与之对应的亮度采样,同时一半的色度采样被丢弃,所以我们看到,色度采样信号每隔一个采样点才有一个。当着张画面显示的时候,缺少的色度信息会由两侧的颜色通过内插补点的方式运算得到。就像上面提到的那样,人眼对色度的敏感程度不如亮度,大多数人并不能分辨出和颜色构成的画面之间的不同。

解析PNG图像文件

PNG图像文件介绍 PNG图像文件格式 PNG是可携式网络图像(portable network graphics)的英文缩写。PNG是从网络上开始发展的,目的是替代GIF和JPG格式,PNG图像文件格式也是当今游戏中常用的图像资源文件格式了。PNG图像文件支持的图像颜色非常丰富,存储灰度图时可使用16位色深表示,存储真彩色图像时色深更可达到48位之多。 PNG图像文件介绍 与BMP格式相比,PNG格式稍微复杂些。PNG图像支持从0~255级次的多层透明色,使用无损压缩的zlib压缩算法压缩图像数据。通常使用zlib压缩过的图像文件大小比BMP使用的RLE压缩的效果好,BMP的RLE压缩算法只支持压缩8位以下的图像,对于16位以上的真彩色图像不支持图像压缩,PNG使用的zlib压缩算法支持任何色深的图像数据压缩,压缩后的图像数据可以完整还原,相比之下JPG需要牺牲图像质量使用有损压缩来获得大的压缩率。 最后有一点需要注意,PNG图像格式使用Big-Endian顺序存储数据。 PNG图像文件存储结构(1) PNG文件存储结构的格式可以在https://www.doczj.com/doc/eb5566971.html,/TR/REC-png.htm上找到定义。 BMP文件总体上由两部分组成,分别是PNG文件标志和数据块(chunks),如表5-8所示。其中数据块分为两类:关键数据块(critical chunk)和辅助数据块(ancillary chunks)。 表5-8 PNG文件的组成结构 PNG文件标志 数据块(chunks) 1.PNG文件标志 PNG文件标志由8字节数据组成:89 50 4E 47 0D 0A 1A 0Ah,其中50 4E 47对应的ASCII值是"PNG"。 2.数据块(chunks) 紧跟在PNG文件标志后面的数据是数据块(chunks),数据块(chunks)分为两类:关键数据块(critical chunks)和辅助数据块(ancillary chunks)。 关键数据块(critical chunk)在PNG文件中是必须有的,而辅助数据块(ancillary chunks)是可选的。

JPG图片文件结构分析

JPG文件结构分析 2010-04-06 22:32 【转自网络 作者:一 江秋水】 一、简述 JPEG是一个压缩标准,又可分为标准 JPEG、渐进式JPEG及JPEG2000三种: ①标准JPEG:以24位颜色存储单个光栅图像,是与平台无关的格式,支持最高级 别的压缩,不过,这种压缩是有损耗的。此类型图片在网页下载时只能由上而下依序显示图片,直到图片资料全部下载完毕,才能看到全貌。 ②渐进式 JPEG:渐进式JPG为标准JPG的改良格式,支持交错,可以在网页下载时,先呈现出图片的粗略外观后,再慢慢地呈现出完整的内容,渐进式JPG的文件 比标准JPG的文件要来得小。 ③JPEG2000:新一代的影像压缩法,压缩品质更好,其压缩率比标准JPEG高约30%左右,同时支持有损 和无损压缩。一个极其重要的特征在于它能实现渐进传输,即先传输图像的轮廓,然后逐步传输数据,让图像由朦胧到清晰显示。 以一幅24 位彩色图像为例,JPEG的压缩分为四个步骤: ①颜色转换:在将彩色图像进行压缩之前,必须先对颜色模式进行数据转换。转换完成之后 还需要进行数据采样。 ②DCT 变换:是将图像信号在频率域上进行变换,分离出高频和低频信息的处理过程,然后再对图像的高频部分(即图像细 节)进行压缩。首先以象素为单位将图像划分为多个8×8的矩阵,然后对每一个矩阵作DCT 变换。把8×8的象素矩阵变成8×8的频率系数矩阵(所谓频率 就是颜色改变的速度),频率系数都是浮点数。 ③量化:由于下面第四步编码过程中使用的码本都是整数,因此要对频率系数进行量化,将之转换为整 数。数据量化后,矩阵中的数据都是近似值,和原始图像数据之间有了差异,这一差异是造成图像压缩后失真的主要原因。这一过程中,质量因子的选取至为重要。 值选得大,可以大幅度提高压缩比,但是图像质量就比较差,质量因子越小图像重建质量越好,但是压缩比越低。 ④编码:编码是基于统计特性的方 法。

PhotoShop文件格式解析

PSD文件解析 (lzgame整理) 一、PSD文件结构为: 二、PSD文件头信息结构 typedef struct tagPSD_FILE_HEADER { DWORD signature; WORD version; WORD reserved1; WORD reserved2; WORD reserved3; WORD number_of_channels; DWORD height_of_image; DWORD width_of_image; WORD depth; WORD color_mode; 三、PSD颜色映射表,在photoshop中仅有索引色模式和双色调模式有颜色映射表,数据格式如下: 1.4字节(int):颜色映射表三色总颜色数 2.颜色映射表数据区:颜色映射表中保存的颜色数量为“三色总颜色数/3”,在颜色映射表中每个颜色 的RGB三色被分开保存,每个颜色值2字节,依次为R通道数据区、G通道数据区、B通道数据区。 可以计算得到总数据长度为“颜色映射表三色总颜色数 * 2字节”

四、PSD图像资源,起始为4字节的图像资源数量(int),然后为图像资源数据区,图像资源的数据结构为: typedef structtagPSD_IMAGE_RESOURCE{ DWORD signature; WORD UniqueID; BYTE nNameSize; BYTE* name; DWORD nResourceSize; BYTE* data; } psd_ image_resource; 已知资源ID介绍: 1.ID 1005:图像分辨率,共16字节 1)4字节(int):水平分辨率(像素/英寸) 2)2字节(short):画布显示的水平分辨率单位,1:像素/英寸,2:厘米/英寸 3)2字节(short):画布显示的宽度单位, 1:英寸,2:厘米,3:点,4:派卡,5:列 4)4字节(int):垂直分辨率(像素/英寸) 5)2字节(short):画布显示的垂直分辨率单位,1:像素/英寸,2:厘米/英寸 6)2字节(short):画布显示的高度单位, 1:英寸,2:厘米,3:点,4:派卡,5:列 2.ID 1006:Alpha通道的名称列表,以Pascal字符串存储,即通道名称字符串长度(1字节)+ 通道 名称(最大255字节)。可以通过计算名称数量获得总alpha通道数。 3.ID 1007:颜色通道信息 1)10字节:颜色通道对应的颜色值: 2)2字节(short):颜色值使用的颜色空间类型,颜色空间表示了PhotoShop把不同颜色模式转换 为屏幕RGB显示模式的取值方式。 颜色空间类型定义为: typedef enum { psd_color_space_dummy = -1, // 没有颜色空间 psd_color_space_rgb, // RGB颜色空间 psd_color_space_hsb, // HSB颜色空间 psd_color_space_cmyk, // CMYK颜色空间 psd_color_space_pantone, // 潘通颜色空间 psd_color_space_focoltone, // FOCOLTONE颜色空间 psd_color_space_trumatch, // TRUMATCH颜色空间 psd_color_space_toyo, // TOYO ColorFinder颜色 psd_color_space_lab, // LAB颜色空间 psd_color_space_gray, // 灰度颜色空间

相关主题
文本预览
相关文档 最新文档