yuv-rgb-互转-公式-及算法.docx

yuv-rgb-互转-公式-及算法.docx

ID:57568350

大小:58.08 KB

页数:8页

时间:2020-08-27

yuv-rgb-互转-公式-及算法.docx_第1页
yuv-rgb-互转-公式-及算法.docx_第2页
yuv-rgb-互转-公式-及算法.docx_第3页
yuv-rgb-互转-公式-及算法.docx_第4页
yuv-rgb-互转-公式-及算法.docx_第5页
资源描述:

《yuv-rgb-互转-公式-及算法.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1前言       自然界的颜色千变万化,为了给颜色一个量化的衡量标准,就需要建立色彩空间模型来描述各种各样的颜色,由于人对色彩的感知是一个复杂的生理和心理联合作用的过程,所以在不同的应用领域中为了更好更准确的满足各自的需求,就出现了各种各样的色彩空间模型来量化的描述颜色。我们比较常接触到的就包括RGB/CMYK/YIQ/YUV/HSI等等。       对于数字电子多媒体领域来说,我们经常接触到的色彩空间的概念,主要是RGB,YUV这两种(实际上,这两种体系包含了许多种具体的颜色表达方式和模型,如sRGB,A

2、dobeRGB,YUV422,YUV420…),RGB是按三基色加光系统的原理来描述颜色,而YUV则是按照亮度,色差的原理来描述颜色。       即使只是RGBYUV这两大类色彩空间,所涉及到的知识也是十分丰富复杂的,自知不具备足够的相关专业知识,所以本文主要针对工程领域的应用及算法进行讨论。2YUV相关色彩空间模型2.1YUV与YIQYcrCb       对于YUV模型,实际上很多时候,我们是把它和YIQ/YCrCb模型混为一谈的。       实际上,YUV模型用于PAL制式的电视系统,Y表示亮度,UV

3、并非任何单词的缩写。       YIQ模型与YUV模型类似,用于NTSC制式的电视系统。YIQ颜色空间中的I和Q分量相当于将YUV空间中的UV分量做了一个33度的旋转。       YCbCr颜色空间是由YUV颜色空间派生的一种颜色空间,主要用于数字电视系统中。从RGB到YCbCr的转换中,输入、输出都是8位二进制格式。       三者与RGB的转换方程如下:       RGB->YUV:       实际上也就是:Y=0.30R+0.59G+0.11B,U=0.493(B-Y),V=0.877(R-Y)

4、       RGB->YIQ:      RGB->YCrCb:       从公式中,我们关键要理解的一点是,UV/CbCr信号实际上就是蓝色差信号和红色差信号,进而言之,实际上一定程度上间接的代表了蓝色和红色的强度,理解这一点对于我们理解各种颜色变换处理的过程会有很大的帮助。       我们在数字电子多媒体领域所谈到的YUV格式,实际上准确的说,是以YcrCb色彩空间模型为基础的具有多种存储格式的一类颜色模型的家族(包括YUV444/YUV422/YUV420/YUV420P等等)。并不是传统意义上用于

5、PAL制模拟电视的YUV模型。这些YUV模型的区别主要在于UV数据的采样方式和存储方式,这里就不详述。       而在CameraSensor中,最常用的YUV模型是YUV422格式,因为它采用4个字节描述两个像素,能和RGB565模型比较好的兼容。有利于CameraSensor和Cameracontroller的软硬件接口设计。3YUV2RGB快速算法分析       这里指的YUV实际是YcrCb了,YUV2RGB的转换公式本身是很简单的,但是牵涉到浮点运算,所以,如果要实现快速算法,算法结构本身没什么好

6、研究的了,主要是采用整型运算或者查表来加快计算速度。首先可以推导得到转换公式为:       R=Y+1.4075*(V-128)      G=Y–0.3455*(U–128)–0.7169*(V–128)      B=Y+1.779*(U–128)3.1整型算法      要用整型运算代替浮点运算,当然是要用移位的办法了,我们可以很容易得到下列算法:       u=YUVdata[UPOS]-128;      v=YUVdata[VPOS]-128;       rdif=v+((v*103)>>8)

7、;       invgdif=((u*88)>>8)+((v*183)>>8);      bdif=u+((u*198)>>8);      r=YUVdata[YPOS]+rdif;      g=YUVdata[YPOS]-invgdif;      b=YUVdata[YPOS]+bdif;为了防止出现溢出,还需要判错计算的结果是否在0-255范围内,做类似下面的判断。        if(r>255)            r=255;      if(r<0)            r=0;   

8、    要从RGB24转换成RGB565数据还要做移位和或运算:        RGBdata[1]=((r&0xF8)

9、(g>>5));      RGBdata[0]=(((g&0x1C)<<3)

10、(b>>3));3.2部分查表法       查表法首先可以想到的就是用查表替代上述整型算法中的乘法运算。       rdif=fac_1_4075[u];       invgdif

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。