Moh*_*ani 14 command-line image-processing
我有一些要合并的图像。我的意思是,如果我有 5 张图像,我想以这种方式排列它们:
我想使用命令来执行此操作,以便我可以使用 Bash 脚本。例如,命令可能是这样的:
foo image1 image2 image3 image4 image5
Run Code Online (Sandbox Code Playgroud)
我有很多图像,因此该命令应该能够处理大量文件。
输出可以是 PDF 甚至是图像格式。
Rin*_*ind 20
请参阅( ) 中的montage命令。imagemagicksudo apt-get install imagemagick
montage -geometry 250x250+0+0 image1.png image2.png out.png
Run Code Online (Sandbox Code Playgroud)
这将调整每个图像的大小(至 250 像素且不变形)并无边距地组合它们。
您还可以使用convert(使用通配符的示例):
convert -append pixpixp-*.jpg newpix.jpg
Run Code Online (Sandbox Code Playgroud)
前几天我也在做类似的事情。似乎有网格。在我的情况下,我将可变数量的图像通过管道传输到网格中,我只想创建一个 17 宽的图像,无论有多高的图像。
montage -mode concatenate $(printf 'rose: %.0s' {1..136}) -resize 100x80 -tile 17x output.jpg
Run Code Online (Sandbox Code Playgroud)
那只是使用 136 个玫瑰图像来形成一个 8 格高的网格。显然,您需要更改$(...)输入图像列表的组。并且您需要将 tile 变量设置为类似于2x您只想设置图块数量的值。
在输出到 PDF 方面,您可以更改扩展名。所以你会看到类似的东西:
montage -mode concatenate $(printf 'rose: %.0s' {1..5}) -tile 2x out.pdf
Run Code Online (Sandbox Code Playgroud)