我使用montage拼接图像,但图像输出的分辨率低于输入的分辨率。
我的图像输入尺寸为640x480每个
但我得到的输出是256x378
我在网上搜索了一下,但找不到改善输出图片质量的解决方案。
我正在使用的montage命令:
montage -tile 2x3 1.png 2.png 3.png 4.png 5.png 6.png -resize 1024x1024 montage_png.png
有人知道如何获得更好的输出分辨率吗?
我使用montage拼接图像,但图像输出的分辨率低于输入的分辨率。
我的图像输入尺寸为640x480每个
但我得到的输出是256x378
我在网上搜索了一下,但找不到改善输出图片质量的解决方案。
我正在使用的montage命令:
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 Image File Format)格式传递,该格式保留所有细节、元数据和质量。
建议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
Montage的使用非常简单,如下所示:
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可以保留原始图形的纵横比。
如果需要强制它成为正方形,则应在gnuplot
中的set terminal
命令中执行。
图像后处理的最佳实践是避免扭曲图像,超出生成原始图像的意图。
montage -mode concatenate -tile 3x2 *.jpg -transpose -resize 1920x1080 montage.jpg
- Fábio
montage *.jpg -mode concatenate -tile 4x5 MONTAGE.jpg
- Boris Däppen