YUV图像的理解
1. 概述
YUV是颜色的一种编码方式,与我们熟知的RGB类似。“Y”表示明亮度(Luminance、Luma),“U”和“V”则是色度(Chrominance、Chroma)。这种编码的方法将亮度信息(Y)与色彩信息(UV)分离,没有UV信息一样可以显示完整的图像,只不过是黑白的。这样的设计很好地解决了彩色电视机与黑白电视的兼容问题。并且YUV不像RGB那样要求三个独立的视频信号同时传输。因为人的感官对亮度信息的敏感度远高于对色度信息,所以在进行传输和存储时可以适当降低色度分量的采样率,这样可以减小视频的数据量,但是不会影响视频的显示效果。所以利用YUV方式传送的另一个优点是占用较少带宽。
YCbCr 是YUV 家族中最常用的成员, 其应用领域很广泛,在计算机系统中常见的JPEG、MPEG,H264等均采用此格式。其中,Cr反映了RGB输入信号红色部分与亮度值之间的差异,而Cb反映的是RGB输入信号蓝色部分与亮度值之间的差异。一般称Cb和Cr为色差信号。
本文将对YUV444p,YUV422p,YUV420p的图像格式进行解释,并通过像素级操作来深入了解这三种图像格式。
2. 准备工作
首先需要获取一张YUV444p的图像,YUV444p的图像与RGB图像一样,保存有最全的亮度和色度信息。这里可以利用ffmpeg将一张bmp的图像,转化为YUV444p图像。利用下面命令。
ffmpeg.exe -i testImg.bmp -s 320x320 -pix_fmt yuv444p testImg.yuv