RGB 和 RAW(RG10) 详解

文章目录

  • RGB 和 RAW(RG10)
    • RGB
      • 分类
        • RGB555
        • RGB1555
        • RGB565
        • RGB24
        • RGB32
      • 单通道与多通道
        • 单通道
        • 多通道
    • RAW
      • 分类
        • 排列顺序
        • 位深
        • 存储方式

RGB 和 RAW(RG10)

RGB

  1. RGB888:一个像素点,对应3种颜色,占用3字节数据
  2. 以RGB24为例,RGB24的每个元素在计算机内存中占用1个字节,1个字节等于8个bit位,所以RGB每个元素的取值范围为:0~255
  3. RGB就是由rawRGB转换而来,做了一个平均运算,这个像素缺的那两个颜色值去周围取平均来补充

分类

RGB555
  1. 每个像素用16比特位表示,占2个字节,RGB分量都使用5位(最高位不用)

RGB1555
  1. RGBA(ARGB)中的一种,一位用于表示透明度。0完全透明,1完全不透明

RGB565
  1. 每个像素用16比特位表示,占2个字节,RGB分量分别使用5位、6位、5位
RGB24
  1. RGB24图像每个像素用24比特位表示,占3个字节
    注意:在内存中RGB各分量的排列顺序为:BGR BGR …
RGB32
  1. RGB32图像每个像素用32比特位表示,占4个字节,R,G,B分量分别用8个bit表示,存储顺序为B,G,R,最后8个字节保留

单通道与多通道

单通道
  1. 俗称灰度图,每个像素点只能有一个值表示颜色,它的像素值在0到255之间,0是黑色,255是白色,中间值是一些不同等级的灰色,可以说灰度是黑与白之间的过渡色!
  2. 单通道往往应用于图像处理,因为单通道只有一个像素点(一个字节),所以相比多通道三个字节,处理速度上要尤为的快!
多通道
  1. 多通道也就是RGB三原色,每个像素点有三个字节来表示(RGB),分别最大取值范围是0-255,可以组合成千万种颜色。

RAW

  1. Raw图像就是CCD/CMOS图像感应器将捕捉到的光信号转换为数字信号的原始数据,是sensor输出的数据格式。
  2. 一个像素点,对应一个颜色,转RGB就是把像素点周围的一起计算出像素点的RGB值

分类

  1. SBGGR10_1X10

  2. 片段含义你的例子
    SStandard(标准格式)S
    BGGRBayer 排列顺序B G G R(第一行 B G 交替,第二行 G R 交替)
    10每个像素的位深10 bit
    1X10存储方式1X10= 1 个像素占 10 bit(紧密打包)
排列顺序
  1. RGGB、BGGR、GRBG、GBRG(取决于 Sensor 物理设计)

  2. 00GR/BG
    01RG/GB
    10BG/GR
    11GB/RG
  3. 例如8*8分辨率。那么对于上表中四种排列格式的rawRGB数据如下图所示:

  4. 研究发现,人眼对绿色比较敏感,所以增强对绿色的采样,每种格式种存在两个G分量。其中每个分量代表一个piexl,所以GR/BG代表4个piexl,就表示sensor上面的4个晶体管,每个晶体管只采集一个颜色分量,然后通过插值计算出每个piexl的其他分量

位深
  1. 一个像素点用多少位表示
  2. RAW8 / RAW10 / RAW12 / RAW14 / RAW16 / RAW20
存储方式
  1. 松散打包(Unpacked / 非紧凑型)
    1. 每个像素占用固定的 2 字节(16bit),低 10bit 存放有效数据,高 6bit 补 0。
  2. 紧密打包(Packed / 紧凑型)
    1. 4 个像素打包成 5 个字节(40bit),不浪费任何 1bit。