2016-12-27 509 views
0

我正在将PNG转换为JPG。透明背景默认为黑色。我需要它是白色的。如何将PNG透明背景转换为JPG白色背景?

什么是FFmpeg命令将alpha通道设置为一种颜色?

我认为这与alphamerge和alphaextract Filters有关。

ffmpeg -i image.png -qscale:v 2 image.jpg 

这转换成PNG在更换白色透明度:

-vf chromakey=white 
+2

为什么你使用ffmpeg来完成这个任务?作为一个明显的选择,使用[ImageMagick](http://www.imagemagick.org/script/index.php) ,你可以简单地执行'convert image.png -background white -flatten image.jpg'。 – Meyer

+0

@Meyer这是我正在研究的项目的一部分,需要ffmpeg。如果不能单独使用ffmpeg,我会保持原样,默认为黑色。 –

回答

2

您可以使用GEQ过滤器。

ffmpeg -i in.png -vf format=yuva444p,geq='if(lte(alpha(X,Y),16),255,p(X,Y))':'if(lte(alpha(X,Y),16),128,p(X,Y))':'if(lte(alpha(X,Y),16),128,p(X,Y))' out.jpg 

如果阿尔法是一个纯粹的黑白图像,改变161