FFmpeg - 使白色背景半透明

Sha*_*air 0 ffmpeg

如果图像是典型的白色背景的非透明 jpeg。是否可以使输出背景半透明?我的意思是只有白色,而其他颜色将保持不透明。

Spo*_*ice 5

ffmpeg -i input.jpg -vf colorkey=white:0.3:0.5 out.png
Run Code Online (Sandbox Code Playgroud)

如果您只想影响白色 (#ffffff),而不影响接近的颜色,请更改0.3为。0.01

更改0.5为您想要的任何透明度数量,0.0将是完全透明的。

更多信息请点击这里

更新

尝试使用半透明背景:

ffmpeg -f lavfi -i color=c=white@0.5:s=1920x1080,format=rgba -i input.jpg -shortest -filter_complex "[1:v]colorkey=white[ckout];[0:v][ckout]overlay[out]" -map "[out]" out.png
Run Code Online (Sandbox Code Playgroud)

此命令首先生成半透明的白色背景,然后将输入图像覆盖在其顶部(同时还将其所有白色像素更改为完全透明,就像我原来的答案一样)。您可能需要将生成的背景分辨率从 1920x1080 更改为匹配您的图像分辨率。