RGB YUV NV12, I420
来源:互联网 发布:淘宝订单编号查询 编辑:程序博客网 时间:2024/06/05 19:57
转自:http://blog.csdn.net/leesphone/archive/2010/05/09/5572822.aspx
前几天碰到一个问题,需要做一张全黑的raw data给encode压码测试,因为raw data的格式是YUV的,于是相当然的就把所有值全置为0,因为Y值(亮度)置为0了,所以以为圧码出来的frame就应该是黑色的,可压完才发现是粉色的,这下晕了,因为全黑对于RGB就意味着全0, 于是赶紧找找RGB跟YUV格式转换的算法。
这 是YUV转RGB的
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
看完这一下就清楚了,YUV为全0时,RGB并不为全0,要想压全黑的,必须是:
Y = 0;
U = V = 128;
于是重新做了一份raw data, 压完一看,果然全黑了。
附RGB转YUV如下:
Y = 0.257R′ + 0.504G′ + 0.098B′ + 16
Cb = -0.148R′ - 0.291G′ + 0.439B′ + 128
Cr = 0.439R′ - 0.368G′ - 0.071B′ + 128
YV12格式与IYUV类似,每个像素都提取Y,在UV提取时,将图像2 x 2的矩阵,每个元素中提取一个U和一个V。YV12格式和I420格式的不同处在V平面和U平面的位置不同。在I420格式中,U平面紧跟在Y平面之后,然后才是V平面(即:YUV);但YV12则是相反(即:YVU)。NV12与YV12类似,效果一样,YV12中 U 和 V 是连续排列的,而在NV12中,U 和 V 就交错排列的。
转自:http://zh.wikipedia.org/wiki/YUV
- RGB YUV NV12, I420
- RGB YUV NV12, I420
- RGB 和 YUV(包括nv12)理解
- NV12转换为I420
- yv12转nv12,nv12转I420
- YUV格式 I420,YV12
- I420转RGB
- yv12、I420、nv12、nv21相互转换
- NV12转化为RGB
- nv12转rgb 格式
- NV12和NV21转rgb
- YUV&RGB
- RGB YUV
- YUV & RGB
- RGB YUV
- YUV RGB
- YUV RGB
- RGB / YUV
- 循环给数组赋值
- 风雨20年:我所积累的20条编程经验
- SqlServer2005(2008)还原数SqlServer2000据库
- lcdui
- http 错误码
- RGB YUV NV12, I420
- VC++20个小技巧(copy)
- Protocol
- 关于NHibernate异常The following types may not be used as proxies
- 我的嵌入式学习之路
- 支持DirectX ARM发布新嵌入式GPU
- 比较懒人的WDK环境配置方法
- Perl 正则表达式替换
- 好吧 13从这里开始