Package boofcv.alg.filter.binary
Class ThresholdNick
java.lang.Object
boofcv.alg.filter.binary.ThresholdNick
- All Implemented Interfaces:
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
ConstructorDescriptionThresholdNick
(ConfigLength width, float k, boolean down) Configures the algorithm. -
Method Summary
-
Constructor Details
-
ThresholdNick
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)
-