Package boofcv.alg.filter.binary
Class ThresholdNick_MT
java.lang.Object
boofcv.alg.filter.binary.ThresholdNick_MT
- All Implemented Interfaces:
InputToBinary<GrayF32>
@Generated("boofcv.alg.filter.binary.ThresholdNick") public class ThresholdNick_MT extends Object implements InputToBinary<GrayF32>
Based off the NICK algorithm described in [1] this is a thresholding algorithm intended for use on low quality ancient documents. A sliding windows approach is employed and is inspired by Niblack. It's designed to better handled "white" and ligh page images by shifting the threshold down.
[1] Khurshid, Khurram, et al. "Comparison of Niblack inspired Binarization methods for ancient documents." Document Recognition and Retrieval XVI. Vol. 7247. International Society for Optics and Photonics, 2009.
-
Constructor Summary
Constructors Constructor Description ThresholdNick_MT(ConfigLength width, float k, boolean down)
Configures the algorithm. -
Method Summary
Modifier and Type Method Description ImageType<GrayF32>
getInputType()
float
getK()
ConfigLength
getWidth()
boolean
isDown()
void
process(GrayF32 input, GrayU8 output)
Converts the input image into a binary image.void
setDown(boolean down)
void
setK(float k)
void
setWidth(ConfigLength width)
-
Constructor Details
-
ThresholdNick_MT
Configures the algorithm.- Parameters:
width
- size of local region. Try 31k
- The Niblack factor. Recommend -0.1 to -0.2down
- Threshold down or up
-
-
Method Details
-
process
Converts the input image into a binary image.- Specified by:
process
in interfaceInputToBinary<GrayF32>
- Parameters:
input
- Input image. Not modified.output
- Output binary image. Modified.
-
getInputType
- Specified by:
getInputType
in interfaceInputToBinary<GrayF32>
-
getK
public float getK() -
setK
public void setK(float k) -
getWidth
-
setWidth
-
isDown
public boolean isDown() -
setDown
public void setDown(boolean down)
-