网上已知YUV转RGB公式为:

  R = Y + 1.4075 *(V-128)

  G = Y – 0.3455 *(U –128) – 0.7169 *(V –128)

  B = Y + 1.779 *(U – 128)

YUV三种常用格式为YUV4:4:4,YUV4:2:2,YUV4:2:0;

YUV4:4:4格式的文件在数据流中的排列方式可能为Y......U......V......,也可能为YUVYUV.......YUV;

YUV4:2:2格式的文件每两个像素共用UV通道;

YUV4:2:0格式的文件每四个像素共用UV通道;

下面以YUV4:2:2格式中的UYVY格式为例:

void UYVYToRGB888(unsigned char *inbuf, unsigned char *outbuf, int h, int w)

{

  unsigned cahr y1, y2, u, v;

  unsigned char *yuv = inbuf;

  unsigned char *rgb = outbuf;

  

  for(int i = 0 ; i < h * w ; i += 2) //每次转换两个像素

  {

    //UYVY文件的数据流排列方式为:UYVYUYVY......UYVY

    y1 = yuv[i * 2 + 1];

    y2 = yuv[i * 2 + 3];

    u   = yuv[i * 2];

    v   = yuv[i * 2 + 2];

    //每两个像素共用UV通道

    rgb[i * 3]       = y1 + 1.4075 * (v - 128);

    rgb[i * 3 + 1] = y1 -  0.3455 * (u - 128) - 0.7169 * (v - 128);

    rgb[i * 3 + 2] = y1 + 1.779   * (u - 128);

    rgb[i * 3 + 3] = y2 + 1.4075 * (v - 128);

    rgb[i * 3 + 4] = y2 -  0.3455 * (u - 128) - 0.7169 * (v - 128);

    rgb[i * 3 + 5] = y2 + 1.779   * (u - 128);

  }

}

需要注意在转换之前应该给outbuf指针分配内存,大小为:h*w*3;

转载于:https://www.cnblogs.com/9310my/p/6062797.html

YUV格式文件转RGB格式相关推荐

  1. 使用C++实现YUV格式图像与RGB格式图像之间相互转换

    使用C++实现YUV格式图像与RGB格式图像之间相互转换 一.RGB与YUV转换公式 1.RGB转YUV 1)RGB转换亮度与色差信号公试: 2)归一化为YUV的转化公试为: 2.YUV转RGB 二. ...

  2. WPS格式文件转换图片格式如何实现

    WPS作为在办公中是一款家喻户晓的软件,相信不少人都使用过.WPS 格式有时候并不适用所有的设施,比如手机中如果没有类似于阅读器软件的话就观看不了.但是图片格式相信都可以阅览的,可以将WPS格式的文件 ...

  3. pythoncsv格式_python实现csv格式文件转为asc格式文件的方法

    一.背景描述 csv格式文件是一种类似于excel的文件格式 asc格式文件是一种可以用text打开的文本文件 csv转asc本来可以用arcgis顺利完成,但由于csv数据量太大(744万行),ar ...

  4. 如何快速无损地把flv格式文件转换为mp4格式(可在iPhone上播放)

    众所周知,mp4格式文件是现在非常主流且高质的视频格式.flv格式相对于mp4格式的视频来说,适用范围比较窄,现在很多播放器也都不支持播放flv格式的视频.解决办法也简单,用MP4/RM转换专家把fl ...

  5. python 读取csv文件转成字符串,python实现csv格式文件转为asc格式文件的方法

    一.背景描述 csv格式文件是一种类似于excel的文件格式 asc格式文件是一种可以用text打开的文本文件 csv转asc本来可以用arcgis顺利完成,但由于csv数据量太大(744万行),ar ...

  6. ppt生成eps文件_如何将AI/EPS格式文件转为ppt格式

    平时见到很多AI或EPS文件都想直接拿来放到PPT上,对于很多图片来说,只需转PNG就可以导入到PPT了,但对于一些图表,在导入PPT的时候还想要编辑下,这个时候就要用到下面的将AI/EPS格式文件转 ...

  7. 如何将csv格式文件转换为Json格式文件?

    如何使用python将csv格式文件转换为Json格式文件? 文章目录 如何使用python将csv格式文件转换为Json格式文件? 前言 一.使用execl方式打开csv文档 二.python转换代 ...

  8. ogg格式文件转换为MP3格式

    目录 下载编译libmp3lame 配置编译ffmpeg 验证libmp3lame 下载编译libmp3lame 在ubuntu下使用ffmpeg时出现了如下Unknown encoder 'libm ...

  9. ncm格式文件转换为mp3格式文件

    我们经常会遇到ncm格式的文件,然而,有了一款小工具,我们可以轻松将ncm格式转换为常见的mp3格式,以便更方便地播放和共享音乐.本文将介绍这个小工具的实现方式,让我们一起来看看吧! 首先,让我们来看 ...

最新文章

  1. CloudComparer点云处理软件
  2. 路由器配置与管理完全手册(H3C篇)学习感想
  3. 到时间就站起来!用树莓派爆改升降办公桌,懒癌有救了
  4. 问题 A: 青蛙约会(数学)
  5. hive查询像mysql在终端一样有规则的方法!!!
  6. java 制作类似DOS功能
  7. react中样式冲突_如何通过React中的样式使您的应用漂亮
  8. 《XXX重大技术需求征集系统》的可用性和可修改性战术分析
  9. SQL注入学习part02:(结合sqli-libs学习:11-20关)
  10. nullnullUVa 10066 - The Twin Towers(LCS水题)
  11. 读博天赋更重要还是努力更重要?
  12. Java学习之JavaWeb篇
  13. matlab gui系统设计,matlabgui系统设计
  14. 鹏业安装算量软件8.0.0.41 升级内容
  15. 快捷指令 python_有没有硬核的iOS快捷指令推荐(实用性)?
  16. IDEA的mysql报错[08S01] 解决办法
  17. 热烈欢迎茂名高级技工学校毕业生参加我司技术工程师岗前实训
  18. 【Linux】x86结构
  19. 设置共享文件夹之Mac技巧
  20. 三维动画制作软件测试指标,三维动画设计师需要具备哪些条件

热门文章

  1. java中用swing实现绘画_【年度盘点】最受欢迎的5大Java练习项目
  2. java spliterator_java 8 stream中的Spliterator简介
  3. linux打印jvm内存堆栈_jvm内存堆栈监控之jmap篇
  4. linux arm寄存器,ARM寄存器总结
  5. java 运行时异常 处理_如何在Java中处理运行时异常?
  6. 小微型计算机期刊,小型微型计算机系统杂志
  7. php弹窗24小时一次,JS利用cookies设置每隔24小时弹出框
  8. python建模 决策_决策树python建模中的坑 :ValueError: Expected 2D array, got 1D array instead:...
  9. Java selenium 读取网页
  10. tomcat连接oracle非常慢,关于myEclipse中tomcat 6.0启动慢的有关问题