我有一个typedef结构,其中包含我从视频帧中获取的YUV组件。
我需要找到一种方法将这些YUV组件写入一个(.YUV)文件扩展名中,这样我就可以在我的C语言应用程序中使用它。
有没有人知道,我怎么才能做到?
诚挚的问候
发布于 2013-06-07 03:10:59
嗯,一种更常见的yuv格式(或者更确切地说是YCbCr)是YV12
它也称为平面分隔4:2:0 8bpp。其中4:2:0表示用于颜色分量的子采样。8bpp表示有效范围是[0-255] (不是真的,但我们现在不要去那里...)

它由亮度样本(Y部分)、width x height / 4、Cb数据和等量的Cr数据组成。一帧的总字节数为width x height * 3 / 2
因此,基本上您需要做的就是将Y组件编写为uint8,然后是Cb-data和Cr-data。
如果您需要一些c语言的示例代码来查看,请查看我在github上的yuv-viewer。希望这对我有帮助,如果没有,请给我留言。
发布于 2013-06-06 21:08:22
您将需要学习如何以二进制模式写入文件。看看these examples吧。一旦明确了这一点,您需要做的就是将YUV通道的十六进制值转储到文件中。
https://stackoverflow.com/questions/16961845
复制相似问题