YUV图像颜色
之前讲了RGB的图像表示,这一节我们再讲解另外一种图像表示------YUV,YUV和RGB不同,它们在颜色信息的存储和传输上有着显著的区别。
YUV是什么呢? YUV表示的是亮度–色度模型。在YUV表示中,颜色信息由亮度(Y)和两个色度(U、V)通道组成,亮度通道(Y)表示图像的明暗程度,色度通道(U、V)表示颜色信息,Y通道负责明亮度,U、V通道则处理色彩信息。
为什么有了RGB还需要YUV呢?
RGB表示在每个通道上均匀地分配颜色信息,也就是说在RGB中,颜色信息在红、绿、蓝三个通道上平均分布。而YUV不是,YUV在通道上分布并不均匀。
Y表示的是亮度,包含图像的大部分信息,U、V代表的是颜色信息,而我们人眼对亮度的敏感度要高于对色彩的敏感度。因此YUV的表示方式更符合人眼感知的特性,我们看一个例子来说明为什么人眼对Y分量更敏感。
下面通过程序把一个彩色图片中的Y\U\V三个通道的分量提取出来。
对于上面提取的3个分量,很明显我们更倾向于使用只有Y通道的那张图片,因为它虽然没有了色彩,但是很清晰,而U\V通道的图片很模糊,甚至完全不能使用,因此只有U\V通道的图片是不可用的,而只有Y分量的图片却没有任何问题。
YUV格式的优势
记得我们上节中计算一张1920x1080的RGB图像,大约需要7M的内存,占用7M的内存看似不大,但在很多计算机视觉任务中,往往需要实时处理多帧的图片或者视频,如果每一帧都这么大,那么很容易就出现内存不够的问题,任务也就没办法执行下去。一个好的解决办法就是更换占用内存更小的图像格式,并且希望图像仍然保留大部分的信息,YUV就是其中一种。
YUV是如何做到减少内存占用的呢?
上面说人眼对Y通道更加敏感,而人眼对U\V通道不那么敏感,为了减少图片在内存中的占用,我们理所当然的可以减少U\V分量,而更多的保留Y分量,比如在YUV422格式中,代表就是2个Y分量对应一组UV分量,也就是说Y分量是UV分量像素的两倍。
当然YUV还有其他格式,比如YUV444,YUV420,都是不同的Y分量对应不同个数的UV分量。总的意思就是减少UV分量,而提高Y分量的占比,这样就能减少图片的内存占用了。
YUV图片的应用
- 由于YUV更好地利用了人眼对亮度和色彩的感知差异,因此YUV格式通常在压缩算法中表现得更好,尤其是在视频编码领域,如MPEG和H.264.
- YUV通常用于视频压缩和传输,因为它们更适合对人眼感知得特性,并且在压缩和解压缩得过程中可以很高效地处理。