自适应阈值化的函数为:
AdaptiveThreshold
自适应阈值算法,用一个区域3*3,5*5.......从图片中划过,滑块的中间点每划过一个像素就计算滑块所包围像素的均值或者加权和,
若像素本身灰度大于均值或者加权值就将该像素的值置为MaxValue,否者置为0.
自适应阈值方法
public static void AdaptiveThreshold( IInputArray src, IOutputArray dst, double maxValue, AdaptiveThresholdType adaptiveType, ThresholdType thresholdType, int blockSize, double param1 )
-
src
- 输入图像. dst
- 输出图像. maxValue
-
使用Binary, 和 BinaryInv 的最大值.
adaptiveType
- 自适应阈值算法使用:MeanC 或 GaussianC thresholdType
-
取阈值类型:是下面其中之一
- Binary,
- BinaryInv
- ToZero
- ToZeroInv
-
blockSize
- 用来计算阈值的象素邻域大小: 3, 5, 7, ... param1
- 与方法有关的参数。对方法 MeanC和GaussianC, 用前面的算法肌计算得到的均值或加权均值减去这个常数,它可以是负数。
函数
AdaptiveThreshold
将灰度图像变换到二值图像,采用下面公式:
thresholdType=Binary: value = value > threshold ? max_value : 0 thresholdType=BinaryInv: value = value > threshold ? 0 : max_value
其中 TI 是为每一个象素点单独计算的阈值
对方法 MeanC,先求出块中的均值,再减掉param1。
对方法 GaussianC ,先求出块中的加权和(gaussian),再减掉param1。