一个像素占多少bit

编码

RGB

RGB代表红绿蓝三种颜色,每种颜色分别用8bit来表示,一个像素点占用24个bit即3个字节。

对于一张1280*720的图片,说明它有1280×720个像素点,存储需要1280×720×3个bit,即2.63MB存储空间。

RGB565:每个像素用16bit表示,RGB分别使用5位、6位、5位

RGB555:每个像素用16bit表示,RGB各用5位,余1位不用

RGB24:每个像素用24位,RGB各8位

RGB32:每个像素用32位,RGB各8位,余8位不用

ARGB32:每个像素用32位,RGB各8位,余8位表示alpha通道值

YUV

YUV采用明亮度和色度来指定像素的颜色。

Y表示亮度,对于一张图像来说单独的Y分量即可表示,但显示出来是黑白的。

UV分量代表色度,色度又细分为色调和饱和度。

对于YUV图像来说并不是每个像素点都需要包含YUV三个分量,按照不同的采样格式,Y与UV之间存在不同的比例关系。

格式转换

Android 1个像素等于多少dp 一个像素占多少bit_像素点

对图像进行各种算法操作时都使用YUV格式,如果不涉及颜色甚至可以只对Y分量进行处理。在实际显示时要转为RGB通过显示器来进行显示。

采样分类

Android 1个像素等于多少dp 一个像素占多少bit_像素点_02

4:4:4采样

YUV444指Y、U、V三个分量比例相同,每个像素的三个元素包含完整信息,每个像素存储占用3个字节。

采样举例

图像像素:[Y0 U0 V0]、[Y1 U1 V1]、[Y2 U2 V2]、[Y3 U3 V3]
采样码流:Y0 U0 V0 Y1 U1 V1 Y2 U2 V2 Y3 U3 V3
最后映射出的像素点:[Y0 U0 V0]、[Y1 U1 V1]、[Y2 U2 V2]、[Y3 U3 V3]

占用内存和RGB表示方法一致,不节省资源

4:2:2采样

YUV422指Y和UV按照2:1比例采样。每两个Y分量公用一个U分量和一个V分量,一个YUV占(8+4+4=16bits)2个字节

采样举例

图像像素:[Y0 U0 V0]、[Y1 U1 V1]、[Y2 U2 V2]、[Y3 U3 V3]
采样码流:Y0 U0  Y1  V1 Y2 U2  Y3  V3
最后映射出的像素点:[Y0 U0 V1]、[Y1 U0 V1]、[Y2 U2 V3]、[Y3 U2 V3]

Y0和Y1之间存在U和V分量的共用,减少了1个字节的空间占用

4:2:0采样

每四个Y分量共用一个U分量和一个V分量,一个YUV占(8+2+2=12bits)1.5个字节

采样举例

图像像素:[Y0 U0 V0]、[Y1 U1 V1]、[Y2 U2 V2]、[Y3 U3 V3]
        [Y4 U4 V4]、[Y5 U5 V5]、[Y6 U6 V6]、[Y7 U7 V7]
采样码流:Y0 U0 Y1 Y2 U2 Y3 Y4 V4 Y5 Y6 V6 Y7
最后映射出的像素点:[Y0 U0 V4]、[Y1 U0 V4]、[Y2 U2 V6]、[Y3 U2 V6]
                 [Y4 U0 V4]、[Y5 U0 V4]、[Y6 U2 V6]、[Y7 U2 V6]

Y0 Y1 Y2 Y3
U0 U2
V4 V6
Y4 Y5 Y6 Y7

示意图如上,也就是说至少需要扫描两行才能获得完整UV分量。

四个Y分量共用一套UV分量,原本存储8个像素需要24字节,现在只需要12字节,节省一半存储空间。

存储格式

两种存储格式

  • planar平面格式:连续存储所有像素点的Y分量,再存储U分量,最后存储V分量
  • packed打包模式:YUV分量连续交替存储

基于4:2:2采样的存储格式

YUYV
Y0和Y1共用U0V0分量,Y2和Y3共用U2V2分量
Y0 U0 Y1 V0 Y2 U2 Y3 V2

UYVY

Y0和Y1共用U0V0分量,Y2和Y3共用U2V2分量
U0 Y0 V0 Y1 U2 Y2 V2 Y3
类似还有YVYU/VYUY等格式

YUV 422P

采用平面格式存储。连续存储所有像素点的Y分量,再存储U分量,最后存储V分量。

基于4:2:0采样的存储格式

YUV 420P

Android 1个像素等于多少dp 一个像素占多少bit_像素点_03

按照UV顺序的不同又分为YU12和YV12,上图为YU12
YUV 420SP

Android 1个像素等于多少dp 一个像素占多少bit_存储空间_04

NV12常用于IOS系统,先Y分量再UV分量

Y Y Y Y
Y Y Y Y
Y Y Y Y
Y Y Y Y
U V U V
U V U V

NV21常用于安卓系统,先Y分量再VU分量。

Y Y Y Y
Y Y Y Y
Y Y Y Y
Y Y Y Y
V U V U
V U V U

Android 1个像素等于多少dp 一个像素占多少bit
转自:https://blog.51cto.com/u_16099168/8286675

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值