如果我知道图像中有多少像素(亮度样本),如何找出YUV 4:2:0文件中的分辨率和帧数?
答案 0 :(得分:19)
YUV 4:2:0平面看起来像这样:
----------------------
| Y | Cb|Cr |
----------------------
其中:
Y = width x height pixels (bytes)
Cb = Y / 4 pixels (bytes)
Cr = Y / 4 pixels (bytes)
Total num pixels (bytes) = width * height * 3 / 2
这是像素放置在4:2:0子采样中的方式:
如您所见,每个色度值在4个亮度像素之间共享。
基本上,你唯一能做的就是看看哪个帧大小划分了 总文件大小均匀。
例如,请考虑经典的forman-clip,您可以从http://trace.eas.asu.edu/yuv/foreman/foreman_cif.7z
下载该剪辑的大小为45619200
个字节。如何从中获得尺寸和帧数?尝试不同的分辨率!
是SDTV吗?
In [7]: 45619200 / float(720*576*3/2)
Out[7]: 73.33333333333333
都能跟得上!
是QCIF吗?
In [8]: 45619200 / float(176*144*3/2)
Out[8]: 1200.0
可能是......
是CIF吗?
In [9]: 45619200 / float(352*288*3/2)
Out[9]: 300.0
可能是......
只有找出方法才能显示它。
我们来试试QCIF
看起来不对劲。让我们尝试CIF