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

标签 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

在 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 上的输出是预期的输出。

来源.png :

enter image description here

-色彩空间 RGB 选项输出是(这不是预期的结果):

enter image description here

-色彩空间 sRGB :

enter image description here

最佳答案

我认为您的色彩空间有问题,您可能需要明确设置它们以强制 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

关于ubuntu - ImageMagick 在两个不同的系统上转换不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26216644/

相关文章:

r - 在 ubuntu 14.04 中安装 rjags

java - 在 Java 中垂直翻转原始图像

c++ - 在 Windows : Cannot open include file: 'Magick++.h' : No such file or directory 中编译 ZBar 示例时出错

Ubuntu 中的 MySQL 连接

c++ - 对于我正在交叉编译的程序,如何将 ubuntu 上的 GLEW 交叉编译到 Windows?

java - 如何修复 Hadoop 警告 : An illegal reflective access operation has occurred error on Ubuntu

c++ - 二维阵列两个方向之间的性能测试

python - 使用 PIL 裁剪图像时如何设置坐标?

pdf - 如何使用 ImageMagick、Ghostscript、Windows Vista/7 x64 安装、测试、转换、调整 PDF 大小

php - 向现有 PDF 添加边距和裁剪标记