17

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

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

但我得到的输出是 256x378

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

我正在使用的蒙太奇命令

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

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

4

3 回答 3

19

将操作模式样式 ( -mode) 设置为concatenate值(如文档中所示)。

例如:

montage -mode concatenate file1.jpg file2.jpg output.jpg
于 2017-04-18T13:32:49.940 回答
10

建议一

以这种方式尝试...让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 图像文件格式)传递,它保留所有细节、元数据和质量。

建议二

如果总是只有 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

在此处输入图像描述

于 2016-01-18T08:00:12.307 回答
7

蒙太奇使用起来很简单,如下所示:

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

但是如果你第二次运行它,这个命令当然也会包含 outfile.png 作为新蒙太奇的一部分。


Montage 足够聪明,可以正确更改格式,因此可以将命令更改为:

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

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


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

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

到问题的重点:

在终端gnuplotpng,默认的画布大小是 640x480,因此 2x3 蒙太奇会产生JPG一个 1280 像素宽的文件。

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

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

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

如果这是期望的结果, 应该在set terminal里面的命令 中强制它是方形的。gnuplot

图像后处理的最佳实践是避免扭曲图像超出生成原件的程序的意图。

于 2017-10-04T04:56:34.577 回答