https://www.jianshu.com/p/4fa388739e05

https://blog.csdn.net/andrexpert/article/details/69267043

https://www.jianshu.com/p/bc013beb2e83 (YUV的采样与格式)
https://www.elecfans.com/d/2154050.html

RGB

https://blog.csdn.net/jisuanji111111/article/details/120737874

RGB 图像中,每个像素点都有红、绿、蓝三个原色,其中每种原色都占用 8 bit,也就是一个字节,那么一个像素点也就占用 24 bit,也就是三个字节。
一张 1280 720 大小的图片,就占用 1280 720 * 3 / 1024 / 1024 = 2.63 MB 存储空间。

每个像素点的空间占用大小是固定的:3字节。

RGBXXX

https://zhuanlan.zhihu.com/p/547359303?utm_id=0 (不同RGB的存储格式)
https://blog.csdn.net/weixin_44030507/article/details/131922861
RGB 则是对使用的位数进行缩减
例如常见的 RGB888, RGB565 就是通过减少整个存储的位数来减少像素点的存储大小。

RGB24, 即 RGB 888, 每个分量用 8bit 来存储,大小为 24bpp。
RGB565, 即 R 分量占据 5 bit ,G 分量占 6 bit,B 分量占 5 bit, 大小为 16 bpp 。
RGBA, 即在原来的 RGB 分量上多一个 A (Alpha )透明度, 大小为 32 bpp。

YUV

https://zhuanlan.zhihu.com/p/636871825?utm_id=0 (非常易于理解)

https://blog.csdn.net/tyyj90/article/details/127859411
https://zhuanlan.zhihu.com/p/248120814

YUV 颜色编码采用的是 明亮度 和 色度 来指定像素的颜色。
其中,Y 表示明亮度(Luminance、Luma),而 U 和 V 表示色度(Chrominance、Chroma)。
而色度又定义了颜色的两个方面:色调和饱和度。

一、采样方式

YUV 4:4:4采样,每一个Y对应一组UV分量,一个YUV占8+8+8 = 24bits 3个字节。
YUV 4:2:2采样,每两个Y共用一组UV分量,一个YUV占8+4+4 = 16bits 2个字节。
YUV 4:2:0采样,每四个Y共用一组UV分量,一个YUV占8+2+2 = 12bits 1.5个字节。
  • YUV444
    Y、U、V 三个分量的采样比例相同,这时相同分辨率的图片大小与RGB格式的图片大小一致。

  • YUV422

  • YUV420
    YUV 4:2:0 采样的图像比 RGB 模型图像节省了一半的存储空间,因此它也是比较主流的采样方式。

二、存储格式

https://zhuanlan.zhihu.com/p/538459722
https://wenku.baidu.com/view/3e95a1eb6c1aff00bed5b9f3f90f76c661374ce6.html?wkts=1704695140337&needWelcomeRecommand=1
https://blog.csdn.net/moon9999/article/details/131990082 (*)
https://blog.csdn.net/u012117034/article/details/124881416

YUV 在存储上按 YUV 三个分量的存储顺序不同可以分为三种格式:

Planar 平面格式,也称为三面格式,即 YUV 三个分量分别按顺序保存,一个平面存储一个分量
比如yuv444p,就是字节数*1/3部分是Y,1/3至2/3部分是U,2/3至3/3部分是V.

Semi-Planar 半平面格式,即两个平面,一个平面存储 Y,另外两个平面存储 UV 分量。
Packed 打包格式,只有一个平面,所有亮度(Y)和色度(UV)数据都交织在一起。

1.平面模式

YUV420

分为YU12和YV12

  • YU12
    首先是所有Y值 ,然后是所有U值,最后是所有V值。
  • YV12
    首先是所有Y值,然后是所有V值,最后是所有U值。
YUV420SP
  • NV21
    在Android Carmra中手机从摄像头采集的预览数据默认值是NV21。

先存Y值,再VU交替存储

  • NV12
    先存Y值,再UV交替存储
分类: rgb_yuv

0 条评论

发表回复

您的电子邮箱地址不会被公开。