2

私は現在、接続されたコンポーネントのラベリングに取り組んでいます。これは、画像を取得し、画像内にいくつの個別のオブジェクトがあるかを示すプロセスです。

私の問題は、最初に任意の画像 (特に RGB 値) を取得して 8 ビットに変換できる必要があることです。

編集: 文字通り 8 ビットと見なされるように、画像は RGB として認識されなくなります。RGBとして認識される8ビット画像ではありません。

ツールバーに移動して「手動で」変換することなく、コードを使用して自動的にこれを行う方法はありますか?

明確にするために、私はJavaを使用してImageJ用にプログラミングしています。

誰かが私を助けてくれるなら、カラー画像をグレースケールにしてからバイナリにするコードを喜んで提供します。私の問題は、画像が本質的に8ビットであっても、変更後も画像がRGBと見なされることです。

ありがとう

編集:以前に提供されたコードを見ていましたが、問題が解決していないようです。私は文字通り、RGB の隣にある小さな「目盛り」を 8 ビットの隣に置きたいと思っています。実際の変換はすべて自分で行っていますが、まだ RGB 画像として認識されています。

4

1 に答える 1

6

してみてください:

import ij.ImagePlus;
import ij.process.ImageConverter;

// ...

ImagePlus imp = IJ.getImage();
ImageConverter ic = new ImageConverter(imp);
ic.convertToGray8();
imp.updateAndDraw();
于 2014-04-14T21:15:14.090 に答える