如何读取任何yuv图像?
如何传递 YUV 图像的尺寸以读取到缓冲区?
最佳答案
通常,当人们谈论 YUV 时,他们谈论的是 YUV 4:2:0 .您对 any YUV 图像的引用具有误导性,因为有许多不同的格式,并且每种格式的处理方式都不同。例如,原始 YUV 4:2:0(按照惯例,扩展名为
.yuv
的文件)不包含任何维度数据;而y4m
文件通常会这样做。所以你真的需要在开始阅读之前知道你正在处理的图像类型。对于 YUV 4:2:0,您只需打开文件并按顺序读取亮度 (Y') 和色度 (CbCr) 分量,记住色度分量已被抽取(亮度分量的四分之一大小)。之后,您通常会将 Y'CbCr 转换为 RGB,以便显示图像。根据我上面提到的内容,您根本无法确定任何 YUV 图像的尺寸。通常,尺寸根本不在文件中。你必须预先了解它们——这就是为什么 most sites列出供下载的 YUV 文件还列出了它们的帧尺寸(对于视频,帧数)。大多数 YUV 文件是 CIF (352x288) 或 QCIF (176x144),尽管有一些从模拟视频数字化而来的文件采用略有不同的 SIF 格式。了解不同的格式 here .
关于c - 在 C 中读取 YUV 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4301776/