YUV格式文件转RGB格式
网上已知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格式相关推荐
- 使用C++实现YUV格式图像与RGB格式图像之间相互转换
使用C++实现YUV格式图像与RGB格式图像之间相互转换 一.RGB与YUV转换公式 1.RGB转YUV 1)RGB转换亮度与色差信号公试: 2)归一化为YUV的转化公试为: 2.YUV转RGB 二. ...
- WPS格式文件转换图片格式如何实现
WPS作为在办公中是一款家喻户晓的软件,相信不少人都使用过.WPS 格式有时候并不适用所有的设施,比如手机中如果没有类似于阅读器软件的话就观看不了.但是图片格式相信都可以阅览的,可以将WPS格式的文件 ...
- pythoncsv格式_python实现csv格式文件转为asc格式文件的方法
一.背景描述 csv格式文件是一种类似于excel的文件格式 asc格式文件是一种可以用text打开的文本文件 csv转asc本来可以用arcgis顺利完成,但由于csv数据量太大(744万行),ar ...
- 如何快速无损地把flv格式文件转换为mp4格式(可在iPhone上播放)
众所周知,mp4格式文件是现在非常主流且高质的视频格式.flv格式相对于mp4格式的视频来说,适用范围比较窄,现在很多播放器也都不支持播放flv格式的视频.解决办法也简单,用MP4/RM转换专家把fl ...
- python 读取csv文件转成字符串,python实现csv格式文件转为asc格式文件的方法
一.背景描述 csv格式文件是一种类似于excel的文件格式 asc格式文件是一种可以用text打开的文本文件 csv转asc本来可以用arcgis顺利完成,但由于csv数据量太大(744万行),ar ...
- ppt生成eps文件_如何将AI/EPS格式文件转为ppt格式
平时见到很多AI或EPS文件都想直接拿来放到PPT上,对于很多图片来说,只需转PNG就可以导入到PPT了,但对于一些图表,在导入PPT的时候还想要编辑下,这个时候就要用到下面的将AI/EPS格式文件转 ...
- 如何将csv格式文件转换为Json格式文件?
如何使用python将csv格式文件转换为Json格式文件? 文章目录 如何使用python将csv格式文件转换为Json格式文件? 前言 一.使用execl方式打开csv文档 二.python转换代 ...
- ogg格式文件转换为MP3格式
目录 下载编译libmp3lame 配置编译ffmpeg 验证libmp3lame 下载编译libmp3lame 在ubuntu下使用ffmpeg时出现了如下Unknown encoder 'libm ...
- ncm格式文件转换为mp3格式文件
我们经常会遇到ncm格式的文件,然而,有了一款小工具,我们可以轻松将ncm格式转换为常见的mp3格式,以便更方便地播放和共享音乐.本文将介绍这个小工具的实现方式,让我们一起来看看吧! 首先,让我们来看 ...
最新文章
- CloudComparer点云处理软件
- 路由器配置与管理完全手册(H3C篇)学习感想
- 到时间就站起来!用树莓派爆改升降办公桌,懒癌有救了
- 问题 A: 青蛙约会(数学)
- hive查询像mysql在终端一样有规则的方法!!!
- java 制作类似DOS功能
- react中样式冲突_如何通过React中的样式使您的应用漂亮
- 《XXX重大技术需求征集系统》的可用性和可修改性战术分析
- SQL注入学习part02:(结合sqli-libs学习:11-20关)
- nullnullUVa 10066 - The Twin Towers(LCS水题)
- 读博天赋更重要还是努力更重要?
- Java学习之JavaWeb篇
- matlab gui系统设计,matlabgui系统设计
- 鹏业安装算量软件8.0.0.41 升级内容
- 快捷指令 python_有没有硬核的iOS快捷指令推荐(实用性)?
- IDEA的mysql报错[08S01] 解决办法
- 热烈欢迎茂名高级技工学校毕业生参加我司技术工程师岗前实训
- 【Linux】x86结构
- 设置共享文件夹之Mac技巧
- 三维动画制作软件测试指标,三维动画设计师需要具备哪些条件
热门文章
- java中用swing实现绘画_【年度盘点】最受欢迎的5大Java练习项目
- java spliterator_java 8 stream中的Spliterator简介
- linux打印jvm内存堆栈_jvm内存堆栈监控之jmap篇
- linux arm寄存器,ARM寄存器总结
- java 运行时异常 处理_如何在Java中处理运行时异常?
- 小微型计算机期刊,小型微型计算机系统杂志
- php弹窗24小时一次,JS利用cookies设置每隔24小时弹出框
- python建模 决策_决策树python建模中的坑 :ValueError: Expected 2D array, got 1D array instead:...
- Java selenium 读取网页
- tomcat连接oracle非常慢,关于myEclipse中tomcat 6.0启动慢的有关问题