如何获得通过自动阈值插件使用阈值(How to get threshold value used b

2019-10-18 02:10发布

我有下面的代码,在那里我阅读目录图像,并使用ImageJ的自动阈值插件来段我的图片。

dir = getDirectory("path");
list = getFileList(dir);

for (i=0; i<list.length; i++)
{
   if (endsWith(list[i], ".tif")) 
   {
        open(dir + list[i]);
        run("8-bit");
        run("Gaussian Blur...", "sigma=2");
        setAutoThreshold("Otsu dark");
        run("Convert to Mask");
        saveAs("TIFF", dir+list[i]);
        close();
    }
}

我想用“大津黑”的方法来获取阈值,并修改值(例如通过因子缩放),并把它应用到我的图片进行分割。

Answer 1:

在一个ImageJ的宏,使用getThreshold(lower,upper)setThreshold(lower,upper)的方法( 这里的文档)。

您的代码应该是这样的,那么:

dir = getDirectory("path");
list = getFileList(dir);
factor = 1.5;

for (i=0; i<list.length; i++)
{
   if (endsWith(list[i], ".tif")) 
   {
        open(dir + list[i]);
        run("8-bit");
        run("Gaussian Blur...", "sigma=2");
        setAutoThreshold("Otsu dark");
        getThreshold(lower,upper);
        setThreshold(lower,upper*factor);
        run("Convert to Mask");
        saveAs("TIFF", dir+list[i]);
        close();
    }
}

如果你打算做更复杂的东西,考虑使用其他脚本语言一样提供的那些斐济 。



文章来源: How to get threshold value used by auto threshold Plugin
标签: imagej