1

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

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

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;
}
4

1 回答 1

1

将每个通道的所有强度相加,并选择总和最大的一个。

于 2013-01-28T02:04:45.477 回答