如何改进 ImageMagick 中蒙太奇的图像输出?

How to improve image output from montage in ImageMagick?

我使用 montage 加入图像,但图像输出的分辨率低于图像输入的分辨率。

我的图像输入每个尺寸为 640x480

但我得到的输出是 256x378

我在网上搜索,但找不到提高输出图像质量的解决方案。

我正在使用的蒙太奇命令

montage -tile 2x3 1.png 2.png 3.png 4.png 5.png 6.png -resize 1024x1024  montage_png.png

有人知道我怎样才能获得更好的输出分辨率吗?

建议 1

尝试这种方式...让 montage 将图像组织成蒙太奇,然后将结果传递给 convert 以调整结果的大小。

montage -tile 2x3 1.png 2.png 3.png 4.png 5.png 6.png miff:- | convert miff:- -resize 1024x1024 montage.png

中间图像作为 MIFF(Magick 图像文件格式)传递,它保留了所有细节、元数据和质量。

建议2

如果总是只有 5 或 6 张图像而不是数百张,您也可以像这样 convert 一次完成。您只需要知道 +append 将图像连接成一行,而 -append 将图像连接成一列。所以我连续加入 1&2,连续 3&4,连续 5 和 6,然后将三行放在一个堆栈中并调整结果的大小。

convert [12].png +append \( [34].png +append \) \( [56].png +append \) -append -resize 1024x1024 result.png

将操作模式样式 (-mode) 设置为 concatenate 值 (as in the documentation)。

例如:

montage -mode concatenate file1.jpg file2.jpg output.jpg

蒙太奇使用起来很简单:

montage -mode concatenate -tile 2x3 *.png -resize 1024x1024 outfile.png

但是,如果您第二次 运行 它,当然,此命令还将包括 outfile.png 作为新蒙太奇的一部分。


蒙太奇足够聪明,可以正确更改格式,因此命令可以更改为:

montage -mode concatenate -tile 2x3 *.png -resize 1024x1024 outfile.jpg

这会生成一个 2048 像素宽的文件。


如果输入文件都是统一大小的,最简单的方法就是这样使用:

montage -mode concatenate -tile 2x3 *.jpg outfile.jpg

问题的重点:

在使用 png 终端的 gnuplot 中,默认的 canvas 大小是 640x480,因此对适当 JPG 的 2x3 蒙太奇会生成一个 1280 像素的文件宽的。

显示在太宽的网页上,无法打印。打印边界大约为 640 像素宽(取决于页边距的设置方式),因此它通常适用于:

montage -mode concatenate -tile 2x3 -resize 320x240 *.png outfile.jpg

使用 320x240 保留原始绘图的纵横比。

如果这是所需的结果,则应在 gnuplot 内的 set terminal 命令中将其强制为正方形。

图像 post 处理的最佳做法是避免扭曲图像,超出生成原件的程序的意图。