繁体   English   中英

计算附加图像时ImageMagick转换的主要内存消耗

[英]Calculate the main memory consumption of ImageMagick convert when appending images

我使用ImageMagick convert工具附加了几个PNG图像。

convert -set colorspace RGB `ls *.png` -append outout.png

这是输入文件的颜色参数:

$ identify input1.png
input1.png PNG 9600x1800 9600x7200+0+0 8-bit sRGB 355KB 0.000u 0:00.000

存在4个具有相同参数的输入文件。

输出文件具有以下颜色参数:

$ identify output.png
output.png PNG 9600x7200 9600x28800+0+0 8-bit sRGB 2.461MB 0.000u 0:00.009

这是我使用的ImageMagick版本:

$ convert -version 
Version: ImageMagick 6.7.7-10 2014-04-09 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
Features: OpenMP    

如何计算convert ... -append操作的主内存消耗?

似乎您使用的是ImageMagick的Q16版本,而此版本的ImageMagick每个像素通道使用16位(Q8版本每个像素使用8位)。 在ImageMagick 6中,每个像素每个像素有4-5个通道(红色,绿色,蓝色,不透明度,索引),这种现象将在ImageMagick 7中有所改变( http://www.imagemagick.org/script/porting.php#渠道 )。 由于您的输入和输出都是png文件,因此每个像素使用4个通道,因此总计为16 * 4 =每个像素64位。 因为您输入的图像为9600x1800,并且要将其中的4个合并为一个图像,所以总共需要64 * 9600 * 1800 * 4 = 4423680000位/ 552.96 MB才能在内存中分配图像。 但是,由于在创建输出图像时会创建每个图像的副本,因此您将需要两倍的内存量:1.1 GB。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM