【发布时间】:2018-04-02 02:54:05
【问题描述】:
【问题讨论】:
【问题讨论】:
在 Imagemagick 中,您可以使用蒙太奇工具来合并一个 (MxN) 切片数组。
montage image01 image02 ... imageXX -tile MxN -geometry +0+0 result
如果图片是按字母顺序排列的,比如png,那么
montage *.png -tile XxY -geometry +0+0 result.png
见https://www.imagemagick.org/Usage/montage/
这是一个将大小减少 50% 的示例
输入(重复4次):
montage lena.jpg -duplicate 3 -tile 2x2 -geometry 50x50+0+0% lena_montage.jpg
【讨论】:
@Phạm Văn Thông。你的 IM 版本是多少?如果 IM 7,则将蒙太奇更改为魔法蒙太奇。如果您的输入图像太大,您可以使用几何参数调整它们的大小,例如 -geometry WxH+0+0,其中 WxH 是所需的宽度和高度。或 -geometry WxH+0+0%,其中 WxH 现在是百分比。听起来您的图像比您想要的大 10 倍。所以你可以使用-geometry 10x10+0+0%。也许您可以发布至少两个(单独但相邻的)输入图像,我可以测试它们的蒙太奇。我将在上面发布一个示例。
convert -layers flatten input*.PNG output.PNG。我不想将 100 张图片合并到一张图片中。我想将每张图像的 1/100 部分中的 100 个合并到一张图片中。
@Phạm Văn Thông 对不起,我不明白你说的每张图片的 1/100 部分的 100 成一张图片是什么意思!这是否意味着您想要 10%x10% 裁剪每个图像的相同区域并将它们蒙太奇,就像我在上面发布的那样?请参阅我对原始答案的第二次编辑。展平多个图像只会将它们一次放置一个。如果它们是不透明的,那么只有最后一个会显示。你需要更好地解释你想要做什么!
@Phạm Văn Thông。如果您真的想将图像拼合为一张图像,则它们需要具有透明度;否则,只会显示最后一张图片。如果它们是透明的,也许您想要的是以下内容:convert input*.png -crop 10x10%+X+Y +repage -background white -flatten output.png。其中 X 和 Y 是从左上角到每个图像的公共部分的偏移量,10x10% 意味着它们将在这些偏移量处被裁剪为 1/100 区域。我使用白色背景,但您可以将其更改为任何其他颜色。如果展平后没有透明度,则不需要
您可以使用来自ImageMagick 的convert 垂直或水平组合图像:
convert *.PNG -append output.PNG
如果您需要更快的东西,请使用GraphicMagick:
gm convert *.PNG -append output.PNG
您可以使用-append 进行垂直附加,+append 用于水平附加。由于您需要这两个选项,我的不太聪明的解决方案是先创建行,然后将这些行垂直组合以获得最终结果。
【讨论】: