首页 > 试题广场 >

YUV420 是一种不同于 RGB 的图像存储方式,每个像素

[填空题]
YUV420 是一种不同于 RGB 的图像存储方式,每个像素由 Y,U,V 三个值描述,它与RGB 的对应关系如下:
Y = 0.299*R + 0.587*G + 0.114*B
U = (B-Y)/1.772
V = (R-Y)/1.402
每个像素的 Y 值都会被存储,而 U 和 V 会进行一次 2*2 的采样,即每组 2*2 的四个像素使用同一个 U 值和 V 值。存储时,所有的 Y 值会被行优先存储,然后所有的 U 值会被行优先存储,然后所有的 V 值会被行优先存储,最终连接成为一段数据段。令 data[i]表示被存储到第 i 个值(从 0 开始编号),现在我们想获取一个 720*1280图像的 523 行 1177 列(行和列从 0 开始编号)的 G 像素值请 用 data 写 出 这 个 值 的 表 达 式 ( 系 数 保 留 4 位 小数)1
由转换式子可以得出

可以算出G对于 Y U V 的系数 1 0.3441  0.7141
最主要的是Y U V的数值位置,

Y的矩阵是相同大小,所以位置为  1280*523+1177=670617
Y矩阵的最后一个一个值位置为 1280*720=921600
U和V都是 2*2采样,长宽为原图的一半,所以U的位置为   921600+640*261+588=1089228
同样方法算出 V的位置  1319628
发表于 2019-07-30 18:19:59 回复(0)
U和V都是 2*2采样,长宽不是应该为原图的1/4吗
发表于 2019-08-12 23:35:31 回复(1)
为什么计算Y的时候不是1280*522+1177呢?那个像素处在第523行,计算存储的的时候应该是522行加上自己所处的列数的偏移量啊?因为从0开始编号还需要减一,

Y的矩阵是相同大小,所以位置为  1280*522+1177-1=669336
Y矩阵的最后一个一个值位置为 1280*720-1=921600 -1
U和V都是 2*2采样,长宽为原图的一半,所以U的位置为   921600+640*261+向上取整(1177/2)-1=1089228
同样方法算出 V的位置  

编辑于 2019-08-06 21:31:28 回复(1)