![](/img/trans.png)
[英]How to pass Imagemagick montage output and image properties to the convert command without using any temporary files?
[英]How to improve image output from montage in ImageMagick?
我使用蒙太奇加入图像,但图像输出的分辨率低于图像输入的分辨率。
我的图像输入的尺寸为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
建议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
蒙太奇很容易使用,如下所示:
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
,默认画布大小为640x480,因此对于正确的JPG
,2x3蒙太奇会产生1280像素宽的文件。
显示在太宽而无法打印的网页上。 打印边界大约为640像素宽(取决于边距的设置方式),因此它通常适用于:
montage -mode concatenate -tile 2x3 -resize 320x240 *.png outfile.jpg
使用320x240可保留原始图的纵横比。
如果这是期望的结果,则应该在gnuplot
内的set terminal
命令中强制它为正方形。
图像后处理的最佳实践是避免使图像扭曲超出生成原件的程序的意图。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.