RGB转YUV的转换方程
RGB to YUV conversion equation
我想了解 RGB 到 YUV 的转换方程。
我从 https://sistenix.com/rgb2ycbcr.html.
得到了一些实现
但是我不明白它是如何制作的,尤其是关于(4)中的R?
R<<6 + R<<1 ?
(65.7388*R)/256如何表示为R<<6 + R<<1?
你漏掉了一部分,(65.7388*R)/256
变成了(R<<6 + R<<1)>>8
步骤其实很简单:逼近最接近的整数(65.7388*R)/256
变成(66*R)/256
,可以写成(64*R + 2*R)/256
。乘以 2 等于向左移动,因此 2*R
变为 R<<1
,64*R
变为 R<<6
。同理,除以2等于右移,因此/256
变为>>8
我想了解 RGB 到 YUV 的转换方程。 我从 https://sistenix.com/rgb2ycbcr.html.
得到了一些实现R<<6 + R<<1 ?
(65.7388*R)/256如何表示为R<<6 + R<<1?
你漏掉了一部分,(65.7388*R)/256
变成了(R<<6 + R<<1)>>8
步骤其实很简单:逼近最接近的整数(65.7388*R)/256
变成(66*R)/256
,可以写成(64*R + 2*R)/256
。乘以 2 等于向左移动,因此 2*R
变为 R<<1
,64*R
变为 R<<6
。同理,除以2等于右移,因此/256
变为>>8