IMAGEJ:将现有的ImageProcessor图片(RGB)转换为8位灰度值

时间:2016-07-06 21:55:20

标签: java imagej

我是初学者,想要将现有的ImageProcessor图片(RGB)转换为8位灰度值图片(在ImageJ中)。

我尝试了不同的东西,但没有任何效果:

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

......不起作用

..所以我想将处理器类型从ImageProcessor改为ImagePlus ..

ImagePlus imp = copy.getProcessor();

但这也行不通。

我在WEB中找到了这个:

  

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

     

// ...

     

ImagePlus imp = IJ.getImage();

     

ImageConverter ic = new ImageConverter(imp);

     

ic.convertToGray8();

     

imp.updateAndDraw();

但我不想使用原始图片,我想使用编辑过的ImageProcessor图片。

有人可以帮帮我吗

1 个答案:

答案 0 :(得分:1)

您确定copy.getProcessor().convertToByte(false);不起作用吗?因为当我查看ImageProcessor代码时,我发现了以下内容:

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

我在电脑上进行了测试,效果很好。 RGB图像通过8位编码正确转换为灰度级。

你到底想要什么?你想做什么?你想要二进制图像吗?