【问题标题】:Which channel to extract - ImageJ提取哪个通道 - ImageJ
【发布时间】:2013-01-28 10:18:22
【问题描述】:

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

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

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

【问题讨论】:

    标签: java image-processing imagej


    【解决方案1】:

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

    【讨论】:

    • 您可能希望将每个强度除以最大强度(最有可能为 255),以免溢出。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-29
    • 1970-01-01
    • 2014-10-11
    • 2016-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多