Class ThresholdLocalOtsu

All Implemented Interfaces:
Direct Known Subclasses:

public class ThresholdLocalOtsu
extends Object
implements InputToBinary<GrayU8>
Local Otsu thresholding where each pixel is thresholded by computing the GThresholdImageOps.computeOtsu2(int[], int, int) Otsu-2} using its local region This implementation includes a modification from the traditional Otsu algorithm. The threshold can optionally be adjusted in low variance regions. See code for details.
See Also:
GThresholdImageOps.computeOtsu2(ImageGray, int, int)
  • Constructor Details

    • ThresholdLocalOtsu

      public ThresholdLocalOtsu​(boolean otsu2, ConfigLength regionWidthLength, double tuning, double scale, boolean down)
      Configures the detector
      regionWidthLength - How wide the local square region is.
      tuning - Tuning parameter. 0 = standard Otsu. Greater than 0 will penalize zero texture.
  • Method Details

    • process

      public void process​(GrayU8 input, GrayU8 output)
      Converts the gray scale input image into a binary image
      Specified by:
      process in interface InputToBinary<GrayU8>
      input - Input image
      output - Output binary image
    • process

      protected void process​(GrayU8 input, GrayU8 output, int x0, int y0, int x1, int y1, byte a, byte b)
    • getInputType

      public ImageType<GrayU8> getInputType()
      Specified by:
      getInputType in interface InputToBinary<GrayU8>