如何使用 ffmpeg 有选择地将视频中的特定颜色替换为另一种颜色?

如何使用 ffmpeg 有选择地将视频中的特定颜色替换为另一种颜色?

我的一些视频中有一些非常刺眼的白色,就像云朵中的白色一样。我使用 ffmpeg 寻找方法来过滤掉白色,然后将白色改为灰色。除了这个,我找不到其他解决方案:

ffmpeg -i input.mp4 -vf eq=gamma_b=0.5 output.mp4

这会将纯白色变成黄色,使眼睛感觉舒服。问题是这个滤镜会改变所有视频颜色。

我想要改变的只是白色,而不是所有其他颜色。

答案1

使用@Gyan 指示并将灰色代码转换为 CMYK,我得到了这个 ffmpeg 脚本:

ffmpeg -i input.mp4 -vf "selectivecolor=whites=0 0 0 .12" output.mp4

.12 表示黑色的 12%,可以根据需要增加或减少,但必须在 -1 和 +1 之间。

相关内容