提取哪个频道 - ImageJ

时间:2013-01-27 19:44:33

标签: java image-processing imagej

我有一个图像,我正在尝试根据图像的红色,蓝色或绿色来提取某个通道。

例如,如果我的图像主要是红色,我想提取红色通道。我已经有了为我提取频道的代码:

private ImageProcessor getRedChannel(ImageProcessor ip) {
    RGBStackSplitterSean splitter=new RGBStackSplitterSean();
    splitter.split(new ImagePlus("tempImage",ip));
    ImagePlus red=new ImagePlus("tempImage",splitter.red);
    return red.getProcessor();
}

如何确定哪个频道最强?

谢谢!

编辑:

我结束了@mmgp提到的那样做。总结每个频道的所有强度,并选择最大的使用:

private int getSumPixels(ImageProcessor ip){
        int sum = 0;
        for(int i=0; i<ip.getWidth(); i++){
            for(int k=0; k<ip.getHeight(); k++){
                sum = sum + ip.getPixel(i, k);
            }
        }
        return sum;
}

1 个答案:

答案 0 :(得分:1)

对每个通道的所有强度求和,并选择具有最大总和的那个。