EdgeDiv ("EdgePlus" + "BlurDiv") threshold an image based of Gauss blur. Used:
- Gauss blur: iir_gauss_blur.
- STB: stb.
O = (E < T) ? BLACK : WHITE
T = ThresholdBimadal(E)
E = FilterEdgeDiv(I, B)
B = FilterBlur(I)
bounds:
BLACK, if E < lower,
WHITE, if E > upper.
This filter was first applied in STEX (2023) in a single-component version (Y).
Here this filter is implemented in a full-color version.
./stbithresedgediv [-h] [-i] [-s sigma] [-k coeff] [-d delta] [-l lower] [-u upper] input-file output.png
-s sigma
The sigma of the gauss normal distribution (number >= 0.5).
Larger values result in a stronger blur.
-k coeff
The coefficient local threshold.
-d delta
The regulator threshold.
-l lower
The bound lower threshold.
-u upper
The bound upper threshold.
-i
Info to stdout
.
-h
display this help and exit.
You can use either sigma to specify the strengh of the blur.
The performance is independent of the blur strengh (sigma). This tool is an implementation of the paper "Recursive implementaion of the Gaussian filter" by Ian T. Young and Lucas J. van Vliet.
stb_image and stb_image_write by Sean Barrett and others is used to read and write images.
- Clone the repo or download the source
git clone --recurse-submodules https://github.com/ImageProcessing-ElectronicPublications/stbithresedgediv
- Execute
make
- Done. Either use the
stbithresedgediv
executable directly or copy it somewhere in your PATH.
- STB: stb.
- Gauss blur: iir_gauss_blur.