《yuv 与rgb之间的变换》

下载本书

添加书签

yuv 与rgb之间的变换- 第1部分


按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
      收藏本站
      广告服务
      设为首页
      繁體中文
  首页 业内新闻 技术文章 供求信息 求职招聘 研发商城 资源导航 R&D Blog 研发BBS scottie '2RD币' | 管理BLOG | 
      搜索 | 帮助 | 退出叫喊
       标题全文作者   


      → 【研发讨论区】 我的收件箱 (0)
       首页 → 52RD研发论坛 → 综合技术研发论坛(System R&D Forum) → 图像视频资料交换区 → YUV 与RGB之间的变换 

        阅读:227
      YUV 与RGB之间的变换    
            kinpoagilent 楼主


      等级:研究员
      帖子:628
      经验:4075
      RD币:31。9
      注册:2005…11…11
            发短信 | 资料 | BLOG | 引用 | 回复1#

            颜色空间是一个三维坐标系统,每一种颜色由一个点表示。在 RGB 颜色空间中,红,绿,蓝是基本元素。RGB 格式是显示器通常使用的格式。在 
            YUV 空间中,每一个颜色有一个亮度信号 Y,和两个色度信号 U 和 
            V。亮度信号是强度的感觉,它和色度信号断开,这样的话强度就可以在不影响颜色的情况下改变。YUV 格式通常用于 
            PAL制,即欧洲的电视传输标准,而且缺省情况下是图像和视频压缩的标准。

            大多数的计算机图形工作者熟悉 RGB,而大多数的具有图像背景的则熟悉 
            YUV。RGB可以认为是三个分别表示红,绿,蓝颜色的灰度图像。把它们组合在一起就可以产生各种各样的颜色。

            YUV 
            使用RGB的信息,但它从全彩色图像中产生一个黑白图像,然后提取出三个主要的颜色变成两个额外的信号来描述颜色。把这三个信号组合回来就可以产生一个全彩色图像。
            那么 YUV 是怎么产生的呢?当时,工程师们需要找到一种办法来使彩色电视广播可以兼容黑白电视。他们使用的彩色信号也需要保全带宽因为 
            RGB 数据不能适合信号空间的限制。通过合并颜色信息,YUV 使用比 RGB 更小的带宽,并且与黑白电视兼容。
            YUV 使用红,绿,蓝的点阵组合来减少信号中的信息量。Y 通道描述 Luma 信号,它与亮度信号有一点点不同,值的范围介于亮和暗之间。 
            Luma 是黑白电视可以看到的信号。U (Cb) 和 V (Cr) 通道从红 (U) 和蓝 (V) 
            中提取亮度值来减少颜色信息量。这些值可以从新组合来决定红,绿和蓝的混合信号。

            一些对 YUV 的较深的研究揭示了当从视频图像中提取时,为什么蓝色总是看起来不很舒服的两个原因。U 通道的范围是从红到黄,V 
            通道的范围是从蓝到黄。因为黄色其实是红和绿,红色基本上被传输三次, 
            绿色是两次而蓝色只有一次。重建亮度部份揭示了另外一个原因,蓝色通道只有11%的亮度。

            Luma = 30% 红 + 59% 绿 + 11% 蓝

            下面简介一下YUV和RGB的转换。

            VGA卡通过设置红,蓝,绿三色的强度来显示颜色。这三种颜色形成笛卡尔坐标系统的轴线。任何一种颜色都是这个颜色空间的一点。你不需要使用这个坐标来定义颜色空间的一点。一个灰度图像只使用颜色空间中那些有着相同红,蓝,绿强度的点。

            我们可以作一个坐标,其中红,蓝,绿是相等的。这个坐标叫做亮度坐标。我们还可以通过从亮度中提取红和蓝部份作两个新的坐标。新的坐标是红和蓝的色度值,用于添加颜色到图像中。亮度坐标标识为 
            Y,蓝的色度坐标标识为 U,红的色度坐标标识为 
            V。我们建立的这三个新坐标形成了JPEG图像中使用的三个部份。以下的公式用于在这两个坐标系统之间互相转换。

            Y=0。299R+0。587G+0。114B
            U=…0。1687R…0。3313G+0。5B+128
            V=0。5R…0。4187G…0。0813B+128
            R=Y+1。402 (V…128)G 
            =Y…0。34414 (U…128)…0。71414(V…128)B 
            =Y+1。772(U…128)

            需要注意的是我们只使用RGB颜色空间中三个坐标都为正的象限。当我们从YUV转换到RGB时,我们必须确保坐标不是负数而且它们没有超过允许的最大值。那么为什么我们要使用YUV颜色空间呢?那时因为人的眼睛对亮度的敏感高于对色度的敏感。通常 
            JPEG 在进行其它任何压缩前会丢掉 3/4 的色度信息。这可以减少图像所要存储信息的1/2。如果三个部份全部存储的话,4 
            pixels就需要3 x 4 = 12个值。如果两个部份的 3/4 的信息可以丢掉不要的话,我们就只需要 1 x 4 + 2 x 1 = 
            6 个值。

            +5 RD币
            '52RD' 





      2007…11…16 16:16:50编辑 引用

            kinpoagilent 楼主


      等级:研究员
      帖子:628
      经验:4075
      RD币:31。9
      注册:2005…11…11
            发短信 | 资料 | BLOG | 引用 | 回复2#

            YUV图象存储机制:   
                
              Y:U:V=8:4:4   
              Y: 占用1个字节(8bit)   
              U;V: 每2个象素占用1个字节(8bit);及每个象素占4bit   
                
              Y:U:V=8:2:2   
              Y: 占用1个字节(8bit)   
              U;V: 每4个象素占用1个字节(8bit);及每个象素占2bit   
                
              用解码器对该文件(clock。mpg)解压后产生的〃YUV〃目标码文件的说明:   
              Y文件的长度为:84;480   BYTE   
              U;V文件的长度分别为:21;120   BYTE   
              84480/21120=4   
              对该组YUV文件可得出结论:Y:U:V=8:2:2   
                
                
              RGB图象存储机制:   
              R:表示红色信息;占用1个字节(8bit)   
              G:表示绿色信息;占用1个字节(8bit)   
              B:表示蓝色信息;占用1个字节(8bit)   
              R:G:B   =   8:8:8     
                
                
              YUV与RGB图象之间的变换关系:   
              Y=   0。2990R+0。5870G+0。1140B   
              U=…0。1687R…0。3313G+0。5000B   +   128   
              V=   0。5000R…0。4187G…0。0813B   +   128   
              反变换关系:   
              R=   1。0Y   +   0               +1。402     (V…128)   
              G=   1。0Y   …   0。34413(U…128)…0。71414(V…128)   
              B=   1。0Y   +   1。772     (U…128)+0   
                
              另一种变换关系:   
              Y   =      
              U   =   R   …   G   
              V   =   B   …   G   
              反变换:   
              G   =   Y   …      
              R   =   U   +   G   
              B   =   V   +   G   
              说明:式中表示
小提示:按 回车 [Enter] 键 返回书目,按 ← 键 返回上一页, 按 → 键 进入下一页。 赞一下 添加书签加入书架