我使用montage加入图像,但图像输出的分辨率小于图像输入的分辨率。
我的图像输入的每个尺寸为 640x480
但我得到的输出是 256x378
我在网上搜索,找不到提高输出图像质量的解决方案。
我正在使用的蒙太奇命令
montage -tile 2x3 1.png 2.png 3.png 4.png 5.png 6.png -resize 1024x1024 montage_png.png
有谁知道我怎样才能获得更好的输出分辨率?
我使用montage加入图像,但图像输出的分辨率小于图像输入的分辨率。
我的图像输入的每个尺寸为 640x480
但我得到的输出是 256x378
我在网上搜索,找不到提高输出图像质量的解决方案。
我正在使用的蒙太奇命令
montage -tile 2x3 1.png 2.png 3.png 4.png 5.png 6.png -resize 1024x1024 montage_png.png
有谁知道我怎样才能获得更好的输出分辨率?
将操作模式样式 ( -mode
) 设置为concatenate
值(如文档中所示)。
例如:
montage -mode concatenate file1.jpg file2.jpg output.jpg
建议一
以这种方式尝试...让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
蒙太奇使用起来很简单,如下所示:
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
到问题的重点:
在终端gnuplot
中png
,默认的画布大小是 640x480,因此 2x3 蒙太奇会产生JPG
一个 1280 像素宽的文件。
显示在太宽而无法打印的网页上。打印边界大约为 640 像素宽(取决于边距的设置方式),因此它通常适用于:
montage -mode concatenate -tile 2x3 -resize 320x240 *.png outfile.jpg
使用 320x240 可保留原始绘图的纵横比。
如果这是期望的结果, 应该在set terminal
里面的命令 中强制它是方形的。gnuplot
图像后处理的最佳实践是避免扭曲图像超出生成原件的程序的意图。