ImageJ - 减去背景

ImageJ - Subtract Background

我在 ImageJ 插件中使用 "Subtract Background" 操作,我正在尝试使用 BackgroundSubtracter class 来执行此操作,但结果与我使用时的结果不同宏语句。例如:

IJ.run(img, "Subtract Background...", "rolling=" + rollballsize + " light");

并更改为:

BackgroundSubtracter bs = new BackgroundSubtracter();
bs.rollingBallBackground(img.getProcessor(), (double)rollballsize, false, true, false, true, true);

使用第二个代码,我只有一个白色图像...

如果有人能给我解释一下,我将不胜感激。谢谢

当通过处理在16位32位图像上进行运行背景减法时>减去背景...或通过高级IJ.run()命令,插件自动将强度显示范围重置为图像的最小值和最大值。

要在使用低级函数调用时获得完全相同的可视化效果,您必须调用 ImageProcessorresetMinAndMax() 方法:

BackgroundSubtracter bs = new BackgroundSubtracter();
bs.rollingBallBackground(img.getProcessor(), (double)rollballsize, false, true, false, true, true);
img.getProcessor().resetMinAndMax();

有关详细信息,请参阅 source of BackgroundSubtracter