YUV2格式转换成RGB24格式解析

转载 2011年01月18日 08:53:00

我们从CMOS摄像头采集到的数据一般是YUV2格式的,YUV2是YUYV,YVYU,VYUY,UYVY,四种格式的统称,在源代码中,采用YUYV格式的数据转换为RGB24格式的数据,当然,通过修改某些参数,YUV2所有格式的数据都可以转换成RGB24即RGB888格式的数据。

首先,我们采集到的数据是以Y0,V0,Y1,U0,  Y2,V2,Y3,U2  …的格式存放在内存中,这里,我是通过串口将该块内存中的数据打印到文件中,并将数据稍作编辑,即可作为带转换的YUV2数据。

YUV与RGB的转换关系

可以看到,Y0,V0…都是8位数据,占1个字节,但每个16进制数以字符存放在内存中,那么Y,U,V就是占2个字节,Y0,V0,Y1,U0,共32位,包含两个像素,转换为RGB24时,关系如下:

RGB0=(Y0,V0,U0),RGB1=(Y1,V0,U0),依次类推,可以看到每个YUV2占32位,转换为2个RGB时,占48位,所有,字符长度增加了0.5倍。

1

从文件中读取数据,并分配内存大小,YUV的数据大小为WIDTH*HEIGHT*2,而RGB数据大小为

WIDTH*HEIGHT*3;

具体转换算法:

1

图片中,是网上常用的两种转换算法,(注释部分是一种,在*号之间的部分是目前在使用的一种)

 

存在问题:

核心部分就是从文件中读取数据,分配内存,并将数据进行转换,然后放回文件中。但我们从文件中读取到的数据均为字符型,而在转换关系中,用到的数据均为数值型,所以需要对数据进行转换处理,算法如下:

1

以上部分是将字符型数据转换成数值型,另一方面,存入文件中,还应当将数值型数据转换成字符型,即上图转换算法的逆算法如下:

1

到此,整个转换算法分析完毕。

相关文章推荐

YUV422P、YV16、NV16、NV61格式转换成RGB24

YUV422有打包格式(Packed),一如前文所述。同时还有平面格式(Planar),即Y、U、V是分开存储的,每个分量占一块地方,其中Y为width*height,而U、V合占width*heig...

yuv格式转换成rgb24格式代码

  • 2013年06月07日 10:27
  • 2KB
  • 下载

YUV格式学习:YUYV、YVYU、UYVY、VYUY格式转换成RGB24

前面文章讲过题目中的YUYV、YVYU、UYVY、VYUY格式,它们都是YUV422的打包格式——即在内存中,Y、U、V都是挨着排序的。它们的名称就表示了Y、U、V的顺序。像YUYV,就是Y、U、Y、...
  • subfate
  • subfate
  • 2015年08月05日 22:07
  • 1635

YUV格式学习:YUV422P、YV16、NV16、NV61格式转换成RGB24

对于YUV422的格式,网上有一大堆资料,这里就不说了。直奔主题,给出如何转换的函数,一如既往,只用代码说事。...
  • subfate
  • subfate
  • 2015年08月05日 22:23
  • 2879

将二零一二年十月二十四日的格式转换成2012-10-24

因为这个让我改了又改,初期忘了很多可能的情况,在完成的过程中很纠结,代码写的也很缭乱。   using System; using System.Collections.Generic; us...

YUV转RGB图片格式转换

  • 2017年01月26日 22:47
  • 8KB
  • 下载

颜色格式转换: 最简单的基于FFmpeg的libswscale的示例(YUV转RGB)

http://blog.csdn.net/leixiaohua1020/article/details/42134965 版权声明:本文为博主原创文章,未经博主允许不得转载。...
  • STN_LCD
  • STN_LCD
  • 2017年06月23日 16:10
  • 355

【视频处理】YUV与RGB格式转换

YUV格式具有亮度信息和色彩信息分离的特点,但大多数图像处理操作都是基于RGB格式。 因此当要对图像进行后期处理显示时,需要把YUV格式转换成RGB格式。 RGB与YUV的变换公式如下:      ...
  • zxh2075
  • zxh2075
  • 2016年10月10日 19:08
  • 681

图像 YUV与RGB格式转换

YUV格式具有亮度信息和色彩信息分离的特点,但大多数图像处理操作都是基于RGB格式。 因此当要对图像进行后期处理显示时,需要把YUV格式转换成RGB格式。 RGB与YUV的变换公式如下: YUV...

YUV与RGB格式转换

原文:http://www.cnblogs.com/dwdxdy/p/3713990.html YUV格式具有亮度信息和色彩信息分离的特点,但大多数图像处理操作都是基于RGB格式。 因此当...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:YUV2格式转换成RGB24格式解析
举报原因:
原因补充:

(最多只允许输入30个字)