如何将具有偏移和缩放的图像合成为单个图像?

如何将具有偏移和缩放的图像合成为单个图像?

我想使用 imagemagick 来创建马赛克。

我有一个图像列表以及它们各自的偏移量和比例,例如:

  • a.jpg,平移至 0,0 并缩放至 100%
  • b.jpg,转换为 200,50 并缩放至 25%
  • c.jpg,转换为 100,320 并缩放至 33%

其想法是按照指示缩放/翻译图像并将它们合成在一起。

我尝试过诸如这样的命令convert a.jpg \(b.jpg -resize 25%\) -geometry +200+50 \(c.jpg -resize 33% \) -geometry +100+320 -composite out.jpg,但输出被裁剪为第一幅图像的大小。由于我事先不知道图像的尺寸,所以我不知道图像的最终大小。

使用 imagemagick 实现这一目标的好方法是什么?

答案1

使用该-mosaic选项允许在原始图像的边界之外进行合成。

因此,创建一个蓝色和一个红色的矩形:

magick -size 640x480 xc:blue blue.png
magick -size 100x100 xc:red red.png

现在将红色矩形合成到蓝色矩形上,但是外部其原始范围,并将背景设为黄色,以显示我们强制图像魔术师扩展图像:

magick blue.png -background yellow -page +800+30 red.png -mosaic result.png

在此处输入图片描述


另外,如果您有数千张图像需要合成,并且全部列在 CSV 中,那么您最好使用 CSV 来制作“魔法脚本”其中包含所有命令,因此您只需一次调用即可完成所有操作,请参阅这里这里

相关内容