2016-07-06 23 views
0

私は初心者で、既存のImageProcessor画像(RGB)を8ビットグレー値画像(ImageJ)に変換したい。 IMAGEJ:既存のImageProcessor画像(RGB)を8ビットのグレー値に変換する

は、私は別のものを試してみましたが、何も働いた..

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

...

動作しません私はImagePlusに画像プロセッサからのプロセッサの種類を変更したい..so

ImagePlus imp = copy.getProcessor(); 

しかし、これも機能しませんでした。

私はWEBでこれを見つけた:

インポートij.ImagePlusを。 import ij.process.ImageConverter;

// ...

ImagePlus IMP = IJ.getImage();

ImageConverter ic =新しいImageConverter(imp);

ic.convertToGray8();

imp.updateAndDraw();

しかし私は元の画像で作業したくないので、編集したImageProcessor画像で作業したいと思います。

誰かが私を助けてくださいすることができ

答えて

1

あなたはcopy.getProcessor().convertToByte(false);が機能しなかったことを確認していますか?私は、画像プロセッサコードに見ると、ここで私が見つけるものですので:

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

関連する問題