2011-09-14 99 views
2

ImageIO包不適用於.tif圖像,我無法從.tif文件創建BufferedImage(我更熟悉的類)。使用Java獲取TIFF圖像的像素值

如何輕鬆獲得Java中的TIFF圖像的像素值?我該如何快速做到這一點?

我沒有經驗的圖像處理和一些示例代碼將不勝感激!

謝謝!

回答

2

您需要Java高級圖像處理API:JAI才能使用TIFF圖像。

從JAI API描述:

TIFF

除了基線說明書中,編碼器和解碼器支持緊縮位,改進的霍夫曼和CCITT二層編碼(傳真),JPEG-在-TIFF (每個TIFF技術註釋#2)和DEFLATE壓縮方案可以處理具有16位和32位整數採樣和32位浮點採樣的圖像,並且可以讀取和寫入所有受支持數據類型的平鋪圖像。此外,解碼器可以解壓縮LZW壓縮圖像。

將來可能會解決其他功能。

通過在javax.media.jai.operator.TIFFDescriptor的類註釋中記錄的「TIFF」運算符使用頁面參數,可以最容易地加載多頁TIFF文件的單頁。此處包含的代碼示例顯示了使用輔助編解碼器類直接加載多頁TIFF文件的單頁的方法。

嘗試一下這些tutorials

+0

謝謝,我之前聽說過JAI,很高興有一個確認它是我真正需要的!你有沒有使用它? API幾乎聽起來對我來說不是英語,我很難弄清楚如何從tif中獲取單個像素...:/你知道是否有簡單的getPixel(x,y)函數或做我必須先成爲圖像處理專家? – Gevorg

+0

有一堆教程可以幫助你入門。我用它來做臉部識別應用程序,一切正常。我不需要處理TIFF文件。 –

+0

總有可能將您的TIFF轉換爲PNG。看看這篇文章:http://stackoverflow.com/questions/2291358/how-do-i-convert-a-tif-to-png-in-java –