YUV420转YUV444 , YUV420转RGB
来源:互联网 发布:部落冲突围墙升级数据 编辑:程序博客网 时间:2024/04/26 23:22
YUV的颜色表示原理:
Y = 0.299R + 0.587G + 0.114B
U = -0.147R - 0.289G + 0.436B
V = 0.615R - 0.515G - 0.100B
R = Y + 1.14V
G = Y - 0.39U - 0.58V
B = Y + 2.03U
如果通过上面的公式从RGB转换成YUV的话,得出的YUV一帧图片和RGB一样大(如果都用8bit表示一个像素分量值)
而YUV采样格式有: YUV 4:4:4 YUV 4:2:2 YUV 4:2:0 等
我就介绍下YUV4:2:0采样怎么转换成YUV4:4:4
YUV444示意图(4*4大小):4*4大小的图中每个像素都对应三个YUV分量,如下图。所占空间为 4*4*3=48 bytes
YUV4:2:0 采样方式为: U分量和V分量隔行采样, 同时UV分量在其采样行也是隔行采样
从上面的比较可知,要将YUV420转换成YUV444的关键就在于插值到采样的缺口处。大家GOOGLE下图像的放大缩小的插值方法原理 :最近邻插值法,双线性插值法和三次插值法
这里我们介绍使用双线性插值法(只给出算法,原理自己GOOGLE):
- 对U分量进行插值 从上面可知 U00 U02 U20 U22是已知的:
U01 = (U00 + U02)/2;
U10 = (U00 + U20)/2;
U11 = (U00 + U02 + U20 + U22)/4;
剩下的也采用此种方法计算即可。 (当然了对于边缘的点如U30~U33, U03~U33的处理可以直接用邻近的点代替)
- 对V变量的插值处理也是一样.
- 不过呢,我看的几个3D合成视图的软件中直接用的邻近的值代替的.应该说也差不多
- YUV420转YUV444 , YUV420转RGB
- YUV420转YUV444 , YUV420转RGB
- YUV420转YUV444 , YUV420转RGB
- YUV420转YUV444 , YUV420转RGB
- YUV420转YUV444 , YUV420转RGB .
- YUV420转YUV444
- YUV444转YUV420
- YUV420转YUV444
- rgb转yuv420,yuv420转rgb
- YUV420转RGB
- yuv420转rgb
- RGB转YUV420
- RGB转YUV420
- RGB转YUV420代码示例
- YUV420 YUV422 YUV444
- YUV420转RGB的代码(C++/JAVA)
- Opengl ES中YUV420转RGB
- Java实现的RGB转YUV420方法
- 【推荐】JAVA基础◆浅谈3DES加密解密
- 【学习笔记】【Cocos2d-x Lua脚本开发】如何使用Lua脚本调用自定义类
- 全新讴歌RLX 不做孤独的隐形人
- js 获取浏览器高度和宽度值(多浏览器)
- 关于hibernate查询sqlserver时char类型只能取第一个字符的问题
- YUV420转YUV444 , YUV420转RGB
- hibernate4中对象的四种状态
- WM_CTLCOLOR和OnCtlColor消息的用法
- window.open()的相关应用及参数
- 10个你也许不知道的Ubuntu技巧
- 工作常用linux命令
- 打开Eclipse时出现"Failed to create the Java Virtual Machine"
- Javascript控制文本框只能输入数字
- 汇编学习-王爽-实验10的答案