2013-08-19 18 views
1

Example of the problem.爲什麼imagemagick會扭曲Ubuntu 12.04 LTS上某些實驗室源代碼中的顏色?

有了這個實驗室/ TIF圖片(除其他外):

http://cl.ly/3D2g0M1R4036

運行convert file1.tif file1.jpg結果在這個扭曲的結果時,我的服務器,這是Ubuntu的LTS 12.04上運行。這是運行的ImageMagick 6.6.9-7:

http://cl.ly/image/3P253v2y3L2x

在我的Mac同樣的命令在本地運行,不會有同樣的問題。我已經用HomeBrew(6.8.0-10)安裝的ImageMagick以及6.6.9-7手動編譯的版本在本地進行了測試,以便儘可能與服務器進行比較。

我曾懷疑它可能是libtiff的版本,因爲Mac有4.0.3,而服務器有3.9.5,但是我剛剛使用最新的ImageMagick對新安裝的Ubuntu進行了測試,和libtiff 3.9.5,問題仍然存在。

有什麼明顯的嗎?

回答

1

運行tiffinfo指出「file1.tif」的色彩空間爲CIELab。 Ubuntu的ImageMagick,通過apt-get安裝,將有實驗室 - 但不是CIELab。這可以通過在兩個系統之間運行以下命令來確認。

identify -list colorspace 

我並不完全相信這兩個色彩空間之間的區別是(一些關於色度值,),但將有助於你遇到的照明。

一個解決方案是從你的Ubuntu服務器/機器(其中將包括CIELab)的源代碼安裝ImageMagick。其他人已經遇到related issues;從源代碼構建完成後解決。

  • 隨着apt-get
    • 卸載ImageMagick的
    • 安裝其相關庫的開發包(即libtiff-dev
  • 按照ImageMagick的documentation

更新:

您還可以使用-set選項明確設置顏色空間。還要添加-verbose選項來評估ImageMagick正在做什麼。

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

謝謝。這就說得通了。今天我會放棄這一點。 – Colin

+0

令人驚訝的是,這似乎*不*工作。我已經安裝了libtiff8-dev(這取決於libjpeg8-dev)並從源代碼安裝了ImageMagick。 'identify -list colorspace'正確顯示CIELab。儘管現在圖像有不同的改變,但它有所不同。我感覺非常熱愛沃霍爾。 http://cl.ly/image/0T1L0T180E1T – Colin

+0

奇怪。似乎用'libtiff4-dev'爲我工作。也許你需要用'convert'實用程序來具體描述色彩空間轉換。我會用一個例子來更新答案。 – emcconville

相關問題