RGB图像编码
一.简介
- RGB色彩模式是工业界的一种颜色标准,是通过对红®、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是运用最广的颜色系统之一。
二.原理
- RGB是从颜色发光的原理来设计定的,通俗点说它的颜色混合方式就好像有红、绿、蓝三盏灯,当它们的光相互叠合的时候,色彩相混,而亮度却等于三者亮度之总和,越混合亮度越高,即加法混合中心三色最亮的叠加区为白色,加法混合的特点:越叠加越明亮。
- 红、绿、蓝三个颜色通道每种色各分为256阶亮度,在0时“灯”最弱——是关掉的,而在255时“灯”最亮。当三色灰度数值相同时,产生不同灰度值的灰色调,即三色灰度都为0时,是最暗的黑色调;三色灰度都为255时,是最亮的白色调。
- RGB是最常见的一种方案。但是,它缺乏与早期黑白显示系统的良好兼容性。因此,有时需要将RGB转换成YUV颜色空间,以维持兼容,再根据需要换回RGB格式。
三.RGB格式分类
- RGB555:另一种16位的RGB格式,RGB分量都用5位表示(剩下的1位不用)。内存中RGB各个分量的排列顺序:X R R R R R G G G G G B B B B B (X表示不用,可以忽略)
- RGB565:使用16位表示一个像素,这16位中的5位用于R,6位用于G,5位用于B。内存中RGB各个分量的排列顺序:R R R R R G G G G G G B B B B B
- RGB24:使用24位来表示一个像素,RGB分量都用8位表示,取值范围为0-255。注意在内存中RGB各分量的排列顺序为:BGR BGR BGR
- RGB32:使用32位来表示一个像素,RGB分量各用去8位,剩下的8位用作Alpha通道或者不用(ARGB32就是带Alpha通道的RGB24),内存中RGB各分量的排列顺序为:BGRA BGRA BGRA
YUV图像编码
一.简介原理
- YUV与RGB一样,YUV 是一种彩色编码系统,主要用在视频、图形处理流水线中(pipeline)。相对于 RGB 颜色空间,设计 YUV 的目的就是为了编码、传输的方便,减少带宽占用和信息出错。一组YUV渲染屏幕上的一个像素,控制屏幕用色彩的形式将事物表现出来,其中Y表示像素中的亮度,英文是Luminance,U表