omi*_*xam 9 image-manipulation imagemagick montage
我使用蒙太奇加入图像,但图像输出的分辨率低于图像输入的分辨率.
我的图像输入的尺寸为640x480
但我得到的输出是256x378
我在网上搜索,找不到提高输出图像质量的解决方案.
我正在使用的蒙太奇命令
montage -tile 2x3 1.png 2.png 3.png 4.png 5.png 6.png -resize 1024x1024 montage_png.png
Run Code Online (Sandbox Code Playgroud)
任何人都知道如何获得更好的输出分辨率?
将操作样式(-mode)的模式设置为concatenate值(如文档中所示).
例如:
montage -mode concatenate file1.jpg file2.jpg output.jpg
Run Code Online (Sandbox Code Playgroud)
建议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
Run Code Online (Sandbox Code Playgroud)
中间图像作为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
Run Code Online (Sandbox Code Playgroud)
蒙太奇使用起来很简单,如下所示:
montage -mode concatenate -tile 2x3 *.png -resize 1024x1024 outfile.png
Run Code Online (Sandbox Code Playgroud)
但是如果你第二次运行它,这个命令当然也会包含 outfile.png 作为新蒙太奇的一部分。
蒙太奇足够聪明,可以正确更改格式,因此可以将命令更改为:
montage -mode concatenate -tile 2x3 *.png -resize 1024x1024 outfile.jpg
Run Code Online (Sandbox Code Playgroud)
这会产生一个 2048 像素宽的文件。
如果输入文件都是统一大小,最简单的方法是像这样使用它:
montage -mode concatenate -tile 2x3 *.jpg outfile.jpg
Run Code Online (Sandbox Code Playgroud)
说到问题:
在gnuplot与png终端的默认画布尺寸为640x480,所以2×3的蒙太奇到适当JPG的文件,它是宽1280个像素的结果。
显示在太宽而无法打印的网页上。打印边界大约为 640 像素宽(取决于边距的设置方式),因此它通常适用于:
montage -mode concatenate -tile 2x3 -resize 320x240 *.png outfile.jpg
Run Code Online (Sandbox Code Playgroud)
使用 320x240 保留原始绘图的纵横比。
如果这是所需的结果,则应在set terminal内部命令 中将其强制为正方形gnuplot。
图像后处理的最佳做法是避免超出生成原件的程序的意图扭曲图像。