ImageMagick在两个不同的系统上转换不同的结果

时间:2014-10-06 12:52:31

标签: ubuntu image-processing imagemagick centos6 imagemagick-convert

我有两个系统,一个是CentOS 6.2 Final,另一个是Ubuntu 14.04,它们都安装了 ImageMagick 。安装了以下版本。

在Ubuntu上:

Version: ImageMagick 6.7.7-10 2014-03-06 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC

功能:OpenMP

On Centos:

Version: ImageMagick 6.5.4-7 2014-02-10 Q16 OpenMP http://www.imagemagick.org
Copyright: Copyright (C) 1999-2009 ImageMagick Studio LLC

我在两个系统上使用了相同的命令,它们会产生不同的结果。

命令:

 convert \
    ~/source.png \
      \( -clone 0 -fill  'rgba(50,129,75,5)' -colorize 100% \) \
   -channel rgba \
   -alpha on \
   -compose Multiply \
   -composite \
    out.png

CentOS输出:

enter image description here

Ubuntu输出

enter image description here

我不确定为什么两个系统都会出现这样的色差。请帮忙。

CentOS上的输出是预期的输出。

source.png

enter image description here

使用 -colorspace RGB 选项输出(这不是所需的结果):

enter image description here

-colorspace sRGB

enter image description here

1 个答案:

答案 0 :(得分:3)

我认为你的colourspace存在问题,你可能需要明确地设置它们以强制ImageMagick执行你的意思,因为你正在运行的两个版本之间的默认值发生了变化。

我怀疑您想要在线性(RGB)色彩空间中进行所有操作,但可能希望将结果图像放在非线性sRGB色彩空间中,因此您需要强制它们像这样:

convert source.png -colorspace RGB \
   \( -clone 0 -fill 'rgba(50,129,75,5)' -colorize 100% \) \
  -channel rgba -alpha on -compose Multiply \
  -composite -colorspace sRGB out.png