图像像素格式理解
1、颜色的学问
(1)颜色是主观还是客观存在?颜色的本质是光的波长,但是因为有人去看才有了颜色这个概念,所以本质上来说,颜色是主观存在的。
(2)颜色的三个关键:亮度、色度、饱和度
(3)人的眼睛并非理想完美的颜色识别器件,图像表达也有清晰度和质量高低的差异
(4)科学研究如何定义(或者表达、记录、计算)一种颜色?通过一个二进制数来表达,比如RGB888,就是用24位二进制来表达16777216种颜色,每一个不同的数代表一种不同的颜色。
2、rawRGB和图像采集过程
(1)图像采集的过程:光照在成像物体被反射->镜头汇聚->Sensor光电转换->ADC转为rawRGB
(2)sensor上每个像素只采集特定颜色的光的强度,因此sensor每个像素只能为R或G或B
(3)rawRGB和RGB都是用来描述图像的,图像采集时RGB是由rawRGB计算而来的
(4)因为图像颜色本身有一定连贯性,而且人眼是非理想的,因此图像采集和再显示给人这整个构成中有三个要素:分辨率、pitch、观看距离
(5)如果是视频,质量好坏还要加上帧率framerate
(6)图像的表达、压缩、修整等相关技术,就发生在rawRGB进来以后的各个环节
RGB与YUV
1、RGB方式表示颜色
(1)RGB有RGB565和RGB888,ARGB等多种子分类
(2)RGB的本质:将色度分解为R、G、B三部分,然后记录下亮度数据
(3)RGB的优势:方便数字化表达,广泛用于数字化彩色显示器,计算机编程等领域。
(4)RGB的劣势:和传统的灰度图兼容不好,表达颜色的效率不高
2、YUV
(1)YUV是一种色彩空间,Y表示亮度,U和V表示色度。只有Y就是黑白图像,再加上UV就是彩色图像了。YUV的一个好处就是让彩色系统和传统黑白系统很好的兼容。
(2)YUV和RGB的相同点是:都是用来表达颜色的数学方法;不同点是:对颜色的描述思路和方法不同。RGB将一个颜色拆解为3个纯色的亮度组合,YUV将一个颜色分解为一个亮度和2个色度的组合。
(3)RGB和YUV之间可以用数学方法互相换算,是个典型的浮点运算过程。
(4)YUV和YCbCr几乎可以看做一个概念,详细的区分以后再去慢慢体会。
(5)YUV分为packed和planar两种。
(6)有多种YUV相关的概念需要弄清楚
YUV:理想的YUV格式是每一个像素点都由一个Y一个U和一个V表示
YUV 格式通常有两大类:打包(packed)格式和平面(planar)格式。前者将 YUV 分量存放在同一个数组中,通常是几个相邻的像素组成一个宏像素;而后者使用三个数组分开存放 YUV 三个分量,就像是一个三维平面一样。
比如有4个像素:
packed:
[Y0,U0,V0],[Y1,U1,V1],[Y2,U2,V2],[Y3,U3,V3]
planar:
[Y0,Y1,Y2,Y3],[U0,U1,U2,U3],[V0,V1,V2,V3]
semi planar:
[Y0,Y1,Y2,Y3],[U0,V0],[U1,V1],[U2,V2],[U3,V3]
YUV420 Planar(YUV420P)
YUV420 semi Planar(YUV420SP)
注:YUV420即Y:U: V = 4:1:1,YUV422即Y:U: V = 4:2:2
在YUV420中,一个像素点对应一个Y,4个像素点共用一个U和V。对于所有YUV420图像,它们的Y值排列是完全相同的,因为只有Y的图像就是灰度图像。YUV420sp与YUV420p的数据格式它们的UV排列在原理上是完全不同的。420p它是先把U存放完后,再存放V,也就是说UV它们是连续的。而420sp它是UV、UV这样交替存放的。
如下图:8X4像素
YUV422 planar(YUV422P)
YUV422 semi planar(YUV422SP)
类比YUV420即可得出结论。