为什么imagemagick会在Ubuntu 12.04 LTS上扭曲一些实验室资源中的颜色?

为什么imagemagick会在Ubuntu 12.04 LTS上扭曲一些实验室资源中的颜色?,imagemagick,imagemagick-convert,libtiff,Imagemagick,Imagemagick Convert,Libtiff,使用此Lab/TIF图像(以及其他图像): 在我的服务器上运行时,运行convert file1.tif file1.jpg会导致这种失真的结果,即Ubuntu 12.04 LTS。这是运行ImageMagick 6.6.9-7: 在我的Mac电脑上本地运行的同一命令没有相同的问题。我已经在本地使用自制安装的ImageMagick版本(6.8.0-10)以及手动编译的6.6.9-7进行了测试,以尽可能与服务器进行比较 我曾怀疑它可能是libtiff的版本,因为Mac有4.0.3,服务器有3.

使用此Lab/TIF图像(以及其他图像):

在我的服务器上运行时,运行
convert file1.tif file1.jpg
会导致这种失真的结果,即Ubuntu 12.04 LTS。这是运行ImageMagick 6.6.9-7:

在我的Mac电脑上本地运行的同一命令没有相同的问题。我已经在本地使用自制安装的ImageMagick版本(6.8.0-10)以及手动编译的6.6.9-7进行了测试,以尽可能与服务器进行比较

我曾怀疑它可能是libtiff的版本,因为Mac有4.0.3,服务器有3.9.5,但我刚刚用最新的ImageMagick和libtiff 3.9.5在新的Ubuntu安装上运行了一个测试,问题仍然存在


有什么明显的吗?

正在运行的
tiffinfo
声明“file1.tif”的颜色空间是CIELab。Ubuntu的ImageMagick是通过apt get安装的,它将有实验室,但没有CIELab。这可以通过在两个系统之间运行以下命令来确认

 identify -list colorspace
我不确定这两个颜色空间之间的区别是什么(关于颜色值的一些东西),但这将有助于你体验到的照明

解决方案是在Ubuntu服务器/机器(包括CIELab)上从源代码安装ImageMagick。其他人经历过;从源头上解决了这个问题

  • 使用
    apt-get
    • 卸载ImageMagick
    • 为每个依赖库安装开发包(即
      libtiff-dev
  • 跟随ImageMagick的
更新:

还可以使用
-set
选项显式设置颜色空间。还添加
-verbose
选项来评估ImageMagick正在做什么

convert-verbose file1.tiff-set colorspace CIELab-colorspace sRGB file1.jpg
#输出
file1.tif TIFF 1451x1865 1451x1865+0+0 8位CIELab 1.326MB 0.110u 0:00.109
file1.tif=>file1.jpg TIFF 1451x1865 1451x1865+0+0 8位sRGB 411KB 0.820u 0:00.840

谢谢。这是有道理的。我今天要试一试。令人惊讶的是,这似乎不起作用。我已经安装了libtiff8 dev(取决于libjpeg8 dev)并从源代码处安装了ImageMagick<代码>识别-列出颜色空间正确显示CIELab。尽管现在的图像发生了不同的变化,但它还是起了作用。我感觉很舒服。古怪的似乎适合我使用
libtiff4 dev
。也许您需要使用
convert
实用程序详细说明颜色空间转换。我将用一个例子更新答案。对不起,我确实安装了
libtiff4 dev
。你也在Ubuntu上测试吗?我已经在Fedora安装上试用过,它工作正常(通过.Yum安装了ImageMagick)。我得到了一些不同的输出-不确定是否相关-此外,在注意到服务器上的问题后,我已经在虚拟机上进行了测试,因此它不是孤立于一个盒子。