我已经能够使用 FFMPEG 解码视频文件并将它们保存在 *.ppm 文件中。
我想知道如何在解码后和保存它们之前立即更改每帧的颜色?
例如:如果我有一个从视频文件中解码并提取的彩色帧,我现在想将其更改为黑白帧,然后将其保存到文件中。
我对 FFMPEG 库很陌生,开发人员可以使用的文档更少。因此,任何对它的帮助都将是非常可观的。
谢谢
最佳答案
我已经能够使用 sws_getContext 方法将其转换为灰度。
我的方法在这里:
mpFrameSwsContext = sws_getContext(mpAVCodecContext->width,
mpAVCodecContext->height, mpAVCodecContext->pix_fmt, mpAVCodecContext->width,
mpAVCodecContext->height, PIX_FMT_GRAY8, PIX_FMT_GRAY8 , NULL, NULL, NULL);
但最终生成的图像如下所示:
任何人都可以建议任何更正吗?
谢谢
关于c++ - 如何更改通过 C++ 上的 FFMPEG 库提取的帧的配色方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25950424/