1、彩色空间转换基本原理
1)彩色空间转换公式:
为了实现格式转换,我们首先要明确待转换格式和目标格式的特点和相互转换关系,这是编程实现转换的核心。对于RGB转YUV的过程,我们要首先拿到RGB文件的数据,再通过上图的YUV计算公式对其做运算,得到YUV数据,从而实现转换。而对于YUV转RGB则要首先获得YUV数据,用第二组RGB公式计算得到RGB数据。 在本实验中,转换公式如下。
其中,计算UV分量时+128是因为UV分量有负值,加上128刚好可以将变化范围调整为0—255。所以在做YUV转RGB时,要特别注意,给UV分量减去128才能代入去乘转换系数。Y = 0.298R + 0.612G + 0.117B;
U = -0.168R - 0.330G + 0.498B + 128;
V = 0.449R - 0.435G - 0.083B + 128;
R = Y + 1.4075( V - 128);
G = Y - 0.3455( U - 128) - 0.7169( V - 128);
B = Y + 1.779( U - 128);
2)了解两种格式的存储方式:
RGB存储方式:RGB三个分量按照B、G、R的顺序储存。(4:4:4)
YUV存储方式:先存Y再存UV分量。(4:2:0)
3)初始化参数。