当前位置: 首页 > 知识库问答 >
问题:

如何找出YUV4:2:0文件中的分辨率和帧数?

郑俊美
2023-03-14

如果我知道图像中有多少像素(亮度样本),如何找出YUV4:2:0文件中的分辨率和帧数?

共有1个答案

禹兴安
2023-03-14

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

可能是...

是到岸价吗?

In [9]: 45619200 / float(352*288*3/2)
Out[9]: 300.0

可能是...

找到答案的唯一方法就是展示它。

让我们试试QCIF

这看起来不对。让我们试试到岸价

答对了!

 类似资料:
  • 我正在OpenCV(2.4.8)中创建一个程序,可以读取视频文件并对其进行计算。对于这些计算,我不需要高分辨率的帧,我可以用640*360作为分辨率。 在早期的测试中,我连接了网络摄像头,我使用了: 它完美地调整了图像的大小。现在,我要进入下一步,我想用我的程序来存储视频,而不是一个实时提要(我用来测试)。当我用源文件路径(字符串)更改“0”时,将加载文件,但分辨率仍为1920*1080。 我做错

  • 好的,这里有一个奇怪的问题,我有问题(用gcc btw编译) 下面是用于命令提示的Mandelbrot分形生成器的源代码。我以前做过这项工作,我想加快自己的测试速度,看看我能以多快的速度生成命令提示符中实际生成Mandelbrot分形所需的代码。我经常这样做是为了给自己找点乐子 不管怎样,我遇到了一个新问题,我不太明白问题是什么。当分形呈现时,无论我设置了多少次迭代或什么转义值,它都将始终显示为椭

  • Android设备具有mdpi、hdpi、xhdpi、xxhdpi等屏幕分辨率。在Android系统中编程时,我会用这些分辨率为手机编写不同的代码。但Flutter是android和ios的开发环境。我需要为不同分辨率的android和ios手机分别编程吗?ios中是否有mdpi、hdpi、xhdpi等分辨率?

  • 功能介绍 获取百度移动统计平台的全部屏幕分辨率列表 接口 https://openapi.baidu.com/rest/2.0/mtj/svc/config/getScreenList?access_token={ACCESS_TOKEN} 请求参数 参数名 类型 描述 样例 access_token string 用户登入后获取的token 1.a6b7dbd428f731035f771b8d

  • 问题内容: 我已经使用matplotlib绘制了一些实验结果。但是,通过单击图像右侧来保存图片会产生非常差的质量/低分辨率图像。 我正在寻找的示例图:示例图 问题答案: 您可以用来导出到图像文件: 另外,您可以为某些标量值指定参数,例如:

  • 问题内容: 如何获得以像素为单位的屏幕分辨率(宽x高)? 我正在使用JFrame和Java swing方法。 问题答案: 你可以使用该方法获取屏幕尺寸。 在多显示器配置中,你应该使用以下命令: 如果要在DPI中获得屏幕分辨率,则必须使用上的getScreenResolution()方法Toolkit。