我有一个.yuv文件,并希望使用C++读取它。问题是我不知道它是解决方案。那么,有没有办法从yuv文件中获得分辨率?如何获得YUV帧的分辨率
此外,我不知道帧的数量。因此,我不能使用ftell()并将其除以整个帧。
我有一个.yuv文件,并希望使用C++读取它。问题是我不知道它是解决方案。那么,有没有办法从yuv文件中获得分辨率?如何获得YUV帧的分辨率
此外,我不知道帧的数量。因此,我不能使用ftell()并将其除以整个帧。
据我所知,没有.yuv
文件格式。一些程序使用该扩展来存储原始数据,但它不是格式。因此,除非您已经知道元数据,否则无法使用该文件。
而且您需要事先知道色度采样是否与亮度采样交错存储或单独存储,以及是否有位填充和/或任何行填充,以便能够从文件中读取数据。
然后,您还需要事先知道帧分辨率,色度子采样和色彩空间,以便能够正确处理该数据。
我的意思是yuv图像具体 – darshshah
区别是最小的。有了图像,你可以检查文件大小,并且如果你知道一些其他的元数据,则可以“猜出”一些元数据,但总的来说,你仍然需要事先知道几乎所有的东西。 –
@darshshah re:“yuv images”:Georg和AnalogFile都是正确的,没有“标准”的YUV图像文件格式。但许多“标准”图像格式能够保存YUV图像。他们有一个文件头,为您提供所有必需的信息。如果没有这个文件头,你必须猜测或试验。 #1看看哪些YUV格式可能会加起来到这个图像大小。 #2然后将它们全部显示出来,看看哪个是正确的。 YUV 4:2:0需要W * H * 3/2; YUV 4:2:2需要W * H * 2;等等 –
什么软件已经创建了yuv文件?你试过什么了?你有什么关于文件格式的信息? –