如何改进 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 处理的最佳做法是避免扭曲图像,超出生成原件的程序的意图。
我使用 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 处理的最佳做法是避免扭曲图像,超出生成原件的程序的意图。