我正在 ImageJ 插件中使用“减去背景”操作,并且尝试使用 BackgroundSubtracter 类来执行此操作,但结果与使用宏语句时的结果不同。例如:
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()
命令,插件自动将强度显示范围重置为图像的最小值和最大值。
要在使用低级函数调用时获得完全相同的可视化效果,您必须调用 ImageProcessor
的 resetMinAndMax()
方法:
BackgroundSubtracter bs = new BackgroundSubtracter();
bs.rollingBallBackground(img.getProcessor(), (double)rollballsize, false, true, false, true, true);
img.getProcessor().resetMinAndMax();
关于java - ImageJ - 减去背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33827715/