2016-07-06 93 views
0

我是一名初學者,希望將現有ImageProcessor圖片(RGB)轉換爲8位Grayvalue圖片(在ImageJ中)。IMAGEJ:將現有的ImageProcessor圖片(RGB)轉換爲8位灰度值

我嘗試不同的事情,但沒有奏效:

ImageProcessor binaer = copy.getProcessor().convertToByte(false); 

...不行的

..所以我想從ImageProcessor到ImagePlus更改處理器類型..

ImagePlus imp = copy.getProcessor(); 

但這也沒有奏效。

我發現這個在WEB:

進口ij.ImagePlus; import ij.process.ImageConverter;

// ...

ImagePlus小鬼= IJ.getImage();

ImageConverter ic = new ImageConverter(imp);

ic.convertToGray8();

imp.updateAndDraw();

但我不想使用原始圖片,我想使用編輯後的ImageProcessor圖片。

有人可以請幫我

回答

1

你肯定copy.getProcessor().convertToByte(false);沒有工作?因爲當我看着到ImageProcessor代碼,這裏是我發現:

public ImageProcessor convertToByte(boolean doScaling) 
    { 
    TypeConverter tc = new TypeConverter(this, doScaling); 
    return tc.convertToByte(); 
    } 

我做我的電腦上測試,它工作得很好。 RGB圖像以8位編碼正確轉換爲灰度。

你期望什麼?你想做什麼?你想要一個二進制圖像嗎?

+0

我寫了一個插件,它檢測細胞並將它們標記爲黑色。現在我想拍攝那張照片(在ImageProcessor original_new中)。我想將所有其他像素設置爲白色並將圖片轉換爲8位。我想這樣做,因爲ImageJ有可能在二進制圖片中填充空洞。這就是我想要的 –

+0

所以你不想把它轉換成字節,而是轉換成BinaryProcessor。你當然可以做一個閾值。 – FiReTiTi

相關問題