我在文件夹A和文件夹B中有两组图像。它们共享公共文件名。例如。我在两个文件夹中都有Image01和Image02。
我需要从文件夹B中的文件夹A中的文件夹A叠加Image01,依此类推。有没有办法可以使用ImageMagick或批处理自动执行此操作?
答案 0 :(得分:3)
假设您的环境是Mac OSX或Linux或Unix ......
然后你可以这样:
for img in A/* ; do \
convert \
A/${img} \
B/$(basename ${img}) \
-gravity center \
-compose blend \
-composite \
-alpha set \
composed.png \
done
现在您必须了解:您的要求的描述非常非常不清楚。有些问题仍然存在:
有两种不同方法的 很多 来叠加两张图片。要查看完整列表,请查看此命令的输出:
convert -list compose
在我的安装中,它显示了67种不同的方法:
Atop Blend Blur Bumpmap ChangeMask Clear ColorBurn ColorDodge Colorize CopyBlack CopyBlue CopyCyan CopyGreen Copy CopyMagenta CopyOpacity CopyRed CopyYellow Darken DarkenIntensity DivideDst DivideSrc Dst Difference Displace Dissolve Distort DstAtop DstIn DstOut DstOver Exclusion HardLight HardMix Hue In Lighten LightenIntensity LinearBurn LinearDodge LinearLight Luminize Mathematics MinusDst MinusSrc Modulate ModulusAdd ModulusSubtract Multiply无覆盖PegtopLight PinLight Plus替换饱和屏幕SoftLight Src SrcAtop SrcIn SrcOut SrcOver VividLight Xor
我上面的示例命令只使用其中一个-compose blend
。
您需要尝试不同的合成方法,以查看哪一个符合您的想法。下面是一个小插图,向您展示了一些方法在应用于两个非常简单的形状时如何工作:
在开始之前,您可以查阅并阅读一些有关不同方法的效果的信息: