2014-03-12 201 views
2

我已經編寫了下面的代碼來打開一個tiff圖像。其實我試圖在java應用程序中使用imageJ(ImagePlus)庫。但它給錯誤信息。ImageJ庫無法打開tiff圖像

「的ImageJ不能打開TIFF以這種方式(4)壓縮文件」

任何幫助將不勝感激。

包com.csc

import java.awt.Color; 
import java.awt.image.BufferedImage; 
import java.io.BufferedWriter; 
import java.io.File; 
import java.io.FileWriter; 
import java.io.IOException; 
import javax.imageio.*; 
//import javax.imageio.ImageIO; 
import ij.ImagePlus; 

public class GetPixelCoordinates { 

//int y, x, tofind, col; 
/** 
* @param args the command line arguments 
* @throws IOException 
*/ 
    public static void main(String args[]) throws IOException { 
     try { 
      //read image file 

      ImagePlus img = new ImagePlus("C:\\javaCode\\TestIJ\\check_1.tiff"); 

      //write file 
      FileWriter fstream = new FileWriter("C:\\javaCode\\TestIJ\\log.txt"); 
      BufferedWriter out = new BufferedWriter(fstream); 

      //find cyan pixels 
      for (int y = 0; y < img.getHeight(); y++) { 
       for (int x = 0; x < img.getWidth(); x++) { 

        int c[] = img.getPixel(x,y); 

        // Color color = new Color() 
        int redValue = c[0]; 
        int greenValue = c[1]; 
        int blueValue = c[2]; 


        if (redValue < 30 &&greenValue >= 225 && blueValue >= 225) { 
         out.write("CyanPixel found at=" + x + "," + y); 
         out.newLine(); 

        } 
       } 
      } 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 
} 
+0

TIFF使用不同的壓縮格式,它似乎像這樣使用一個(也許是「不尋常」的一個?)不是由ImageJ的支持。如果只是一張圖像,您可能想要用任何圖像處理程序打開它,並用不同的壓縮方式保存。如果是關於多個(許多)圖像,則可以考慮批量轉換,或嘗試查找支持此特定格式的TIFF加載程序。 – Marco13

回答