网上说当YUV分量全部为零的时候,显示为绿色,从这个公式里怎么推测出来只有绿色分量呢?
来源:9-5 什么是YUV

weixin_慕UI7314011
2021-06-13
2回答
-
慕妹3585395
2024-04-04
1. YUV转RGB有很多版本,其中一个版本是ITU-R BT.601标准,也就是标清电视(SDTV)系统的转换公式为:
R = 1.164383 * (Y - 16) + 1.596027 * (V - 128)
G = 1.164383 * (Y - 16) - 0.391762 * (U - 128) - 0.812968 * (V - 128)
B = 1.164383 * (Y - 16) + 2.017232 * (U - 128)
把Y = U = V = 0 带入:
R = 1.164383 * (-16) + 1.596027 * (-128) ≈ -139.2 + -199.6 = -338.8 ≈ 0 (由于RGB值理论上应介于[0,255]之间,超出范围的值会被裁剪到0)
G = 1.164383 * (-16) - 0.391762 * (-128) - 0.812968 * (-128) ≈ -18.6 + 50.1 + 104.4 ≈ 135.9 ≈ 128 (由于实际应用中可能有饱和度限制,这里接近于128)
B = 1.164383 * (-16) + 2.017232 * (-128) ≈ -18.6 - 258.1 ≈ -276.7 ≈ 0 (同样超出范围被裁剪到0)
确实结果是【R, G, B】=【0, 128, 0】, 应该是很深的一个绿色。
2. 视频教程中的YUV转RGB,YUV全为0的时候,【R,G,B】= 【0, 0, 0】, 应该是显示黑色吧。R = Y + 1.13983 * V = 0
G = Y - 0.39465 * U - 0.58060 * V = 0
B = Y + 2.03211 * U = 0
00 -
李超
2021-06-14
最终显示到屏幕上是RGB,YUV到RGB有换算公式,你可以自己算一下
012024-04-04
相似问题