如何使用ImageMagick整体添加Alpha通道?

如何使用ImageMagick整体添加Alpha通道?,imagemagick,alpha-transparency,Imagemagick,Alpha Transparency,假设一个有很多图像的dir,其中一些图像错过了alpha通道,因此在背景下看起来很糟糕。我原以为每张图片都有alpha通道,但现在有些图片显示为白色而不是透明。如何整体添加alpha通道 不工作 $convert imageNoAlpha.png-imageAlpha.png上的alpha 这将变为透明,就像您看到的一样,但图像中的任何其他白色也将是透明的: convert input.jpg -background none -transparent white -flatten output

假设一个有很多图像的dir,其中一些图像错过了alpha通道,因此在背景下看起来很糟糕。我原以为每张图片都有alpha通道,但现在有些图片显示为白色而不是透明。如何整体添加alpha通道

不工作

$convert imageNoAlpha.png-imageAlpha.png上的alpha


这将变为透明,就像您看到的一样,但图像中的任何其他白色也将是透明的:

convert input.jpg -background none -transparent white -flatten output.png

感谢Bonzo,即使没有反别名,我也能获得非常酷的结果!你可以通过下图看到眼睛的不同。我不知道你会因此损失多少信息,但至少我能更好地调整事情,至少对我来说,抗锯齿不是那么容易

$ convert in.png -background none -fuzz 10% -transparent white -flatten out.png


使用bash-for循环或使用为python构建的ImageMagick-pkg,整体方法可能是最简单的。我不知道哪种方法更好,我将把它留在这里,等待将来的答案来改进。谢谢。

…假设我在没有X的服务器上,发现缺少alpha通道。我必须回到我耗时的桌面,用Gimp做一些小的编辑——希望我能直接用命令行上的ImageMagick做这些——我需要指定:用alpha通道(即透明度)替换所有白色。谢谢+最后一个想法:你能添加白色阈值,使接近白色的颜色也变得透明吗?是的,显然是这样的
“convert input.jpg-white threshold 88%-background none-transparent white-flatten output.png”
?您使用-fuzz:convert input.jpg-background none-fuzz 12%-transparent white-Flatte output.png我很确定Zsh在[1..10]中有
$someFunc的功能吗?我想是的,但不记得语法,想。。。