自迁移出 MediaWiki 以来,本页内容尚未经过审查。如果您愿意帮忙,请查看帮助指南!
该插件使用各种局部阈值方法对8图像位进行二值化。这里的“局部”表示根据其周围半径r(以像素单位)的窗口内图像的特征来计算每个像素的阈值。矩阵相始终显示为白色(255)。
对于全局阈值而不是本地阈值,请参阅Auto Threshold插件。
安装
ImageJ:需要 v1.42m 或更高版本。下载Auto_Threshold-X.Y.Z.jar并将其复制到 ImageJ/plugins 文件夹中,然后重新启动 ImageJ 或运行Image › Adjust › Auto Local Threshold命令。此后,新命令应出现在Help › Update Menus中。
斐济:该插件是斐济发行版的一部分,消耗下载。
使用
方法 选择要应用的算法(详细信息如下)。
半径设置计算局部域的半径阈值。
黑色背景上的白色对象将值与阈值的像素设置为白色(否则,将值小于或等于阈值的像素设置为白色)。
特殊参数 1 和 2 为端点方法设置特定值。下面详细介绍了端点方法。
如果您正在处理堆栈,则使用附加选项:堆栈可用于处理所有切片。
可用方法
全部尝试
哪种方法可以最好地分割您的数据?您可以尝试使用 全部尝试 选项来回答此问题。这会生成包含所有方法结果的蒙太奇,因此人们可以探索不同的算法如何在或堆栈上执行。

图像原始

尝试所有方法。
当处理有多个切片的堆栈时,蒙太奇可能会变得非常大(原始堆栈大小的几倍),并且存在内存耗尽的风险。将出现一个弹出窗口(当堆栈超过25个切片时)以确认程序是否应显示堆栈蒙太奇。
###伯恩森
实现Bernsen的阈值方法。请注意,此实现使用圆形窗口而不是原始中型窗口。
参数1:是恢复阈值默认。值为15。任何中断0的数字都会更改默认值。
参数2:未使用,忽略。
该方法使用用户提供的损失阈值。如果局部损失(最大)等于或等于损失阈值,则阈值设置为局部中灰度值(局部窗口中最小和最大灰度值的目标)。如果“局部损失”低于“损失阈值”,则邻域仅由一类组成,并根据中灰度值像素将设置为对象或背景。
if ( local_contrast < contrast_threshold )
pixel = ( mid_gray >= 128 ) ? object : background
else
pixel = ( pixel >= mid_gray ) ? object : background
基于 ME Celebi 的 fourier_0.8 例程 1 和 2。
对比
基于简单的触发切换。将像素值设置为白色(255)或黑色(0),具体取决于其当前值是否接近最局部顶端或最中间。该过程是切换触发增强的极端情况,请参阅示例:
除了内核内核之外,该过程不提供用户的参数。
的意思是
这选择阈值作为局部梯度的挥动。这种方法的变体使用挥动-C,其中C是局部。
pixel = ( pixel > mean - c ) ? object : background
参数1:是C值。默认值为0。任何其他数字都会更改默认值。
参数2:未使用,忽略。
http://homepages.inf.ed.ac.uk/rbf/HIPR2/adpthrsh.htm
###中添加
本方法选择阈值作为局部局部分布的中值。该方法的一种变体采用中分配 - C,其中 C 为局部。
pixel = ( pixel > median - c ) ? object : background
参数1:是C值。默认值为0。任何其他数字都会更改默认值。
参数2:未使用,忽略。
http://homepages.inf.ed.ac.uk/rbf/HIPR2/adpthrsh.htm
中灰
这将阈值选择为局部梯度分布的中灰度(即(顶部+最小)/2)。这种方法的变体使用中灰度 - C,其中 C 是稀疏。
pixel = ( pixel > ( ( max + min ) / 2 ) - c ) ? object : background
参数1:是C值。默认值为0。任何其他数字都会更改默认值。
参数2:未使用,忽略。
http://homepages.inf.ed.ac.uk/rbf/HIPR2/adpthrsh.htm
尼布莱克
实现Niblack的阈值方法:
pixel = ( pixel > mean + k * standard_deviation - c) ? object : background
参数1:是k值。对于明亮的对象,默认值为0.2;对于黑暗的对象,默认值为-0.2。0之外的任何其他数字都会更改默认值。
参数2:是C值。这是一个偏移量,默认值为0。0以外的任何其他数字都会更改其值。该参数是在1.3版本中添加的,不是算法原始实现的一部分。当C = 0时应用原始算法。
Invalid citation arguments: {"last"=>"Niblack", "first"=>"W", "year"=>"1986", "journal"=>"", "title"=>"An introduction to Digital Image Processing, Prentice-Hall"}
移植自 ME Celebi 的 fourier_0.8 例程 3 和 4。
大津
实现大津全局阈值的局部版本。该算法搜索最小化类内反向的阈值,类内反向定义为两类的反向的加权和。局部集是一个圆形ROI,中心像素根据该区域找到的大津阈值进行测试。
另请参阅Wikipedia article on Otsu’s method。
由 Jordan Bevik 从 C++ 代码移植而来。
潘萨尔卡
这是对 Sauvola 阈值方法的修改,用于处理低恢复图像。
doi:10.1109/ICCSP.2011.5739305
在此方法中,阈值t计算如下:
t = mean * (1 + p * exp(-q * mean) + k * ((stdev / r) - 1))
其中mean和stdev分别是局部干和标准差。 Phansalkar建议 k = 0.25、r = 0.5、p = 2 和 q = 10。这里插件中,k 和 r 分别是参数 1 和 2,但 p 和 q 的值是固定的。
参数1:是k值。默认值为0.25。0之外的任何其他数字都会改变其值。
参数2:是r值。默认值为0.5。该值与Sauvola的值不同,因为它使用图像的归一化强度。0之外的任何其他数字都会改变其值。
根据 Phansalkar 的论文描述,尽管该版本使用圆形而不是圆形局部窗口。
索沃拉
实现 Sauvola 的阈值方法,该方法是 Niblack 方法的变体
pixel = ( pixel > mean * ( 1 + k * ( standard_deviation / r - 1 ) ) ) ? object : background
参数1:是k值。默认值为0.5。0之外的任何其他数字都会更改默认值。
参数2:是r值。默认值为128。0以外的任何其他数字都会更改默认值