# \[ANN\] ImageBinarization.jl - Automatically binarize images into background and foreground

**URL:** https://discourse.julialang.org/t/ann-imagebinarization-jl-automatically-binarize-images-into-background-and-foreground/21653
**Category:** Package Announcements
**Tags:** announcement, images
**Created:** [March 8, 2019, 11:51pm UTC](https://discourse.julialang.org/t/ann-imagebinarization-jl-automatically-binarize-images-into-background-and-foreground/21653 "2019-03-08T23:51:42Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![zygmuntszpak](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/zygmuntszpak/32/2591_2.png) [@zygmuntszpak](https://discourse.julialang.org/u/zygmuntszpak)
#### Post date: [March 8, 2019, 11:51pm UTC](https://discourse.julialang.org/t/ann-imagebinarization-jl-automatically-binarize-images-into-background-and-foreground/21653/1 "2019-03-08T23:51:42Z")

</div>

The [ImageBinarization](https://github.com/zygmuntszpak/ImageBinarization.jl) package provides numerous algorithms for transforming an image into a bi-level image (black background and white foreground). The initial release implements the following algorithms:

1. Bradley, D. (2007). Adaptive Thresholding using Integral Image. _Journal of Graphic Tools_, 12(2), pp.13-21. doi:10.1080/2151237x.2007.10129236

2. “BI-LEVEL IMAGE THRESHOLDING - A Fast Method”, Proceedings of the First International Conference on Bio-inspired Systems and Signal Processing, 2008. Available: 10.5220/0001064300700076

3. J. N. Kapur, P. K. Sahoo, and A. K. C. Wong, “A new method for gray-level picture thresholding using the entropy of the histogram,” _Computer Vision, Graphics, and Image Processing_, vol. 29, no. 1, p. 140, Jan. 1985.doi:10.1016/s0734-189x(85)90156-2

4. C. A. Glasbey, “An Analysis of Histogram-Based Thresholding Algorithms,” _CVGIP: Graphical Models and Image Processing_, vol. 55, no. 6, pp. 532–537, Nov. 1993. doi:10.1006/cgip.1993.1040

5. J. Kittler and J. Illingworth, “Minimum error thresholding,” _Pattern Recognition_, vol. 19, no. 1, pp. 41–47, Jan. 1986. doi:10.1016/0031-3203(86)90030-0

6. J. M. S. Prewitt and M. L. Mendelsohn, “THE ANALYSIS OF CELL IMAGES,” _Annals of the New York Academy of Sciences_, vol. 128, no. 3, pp. 1035–1053, Dec. 2006.

7. W.-H. Tsai, “Moment-preserving thresolding: A new approach,” _Computer Vision, Graphics, and Image Processing_, vol. 29, no. 3, pp. 377–393, Mar. 1985. doi:10.1016/0734-189x(85)90133-1

8. J. Sauvola and M. Pietikäinen (2000). “Adaptive document image binarization”. _Pattern Recognition_ 33 (2): 225-236. doi:10.1016/S0031-3203(99)00055-2

9. Nobuyuki Otsu (1979). “A threshold selection method from gray-level histograms”. _IEEE Trans. Sys., Man., Cyber._ 9 (1): 62–66. doi:10.1109/TSMC.1979.4310076

10. R. E. Vidal, “Generalized Principal Component Analysis (GPCA): An Algebraic Geometric Approach to Subspace Clustering and Motion Segmentation.” Order No. 3121739, University of California, Berkeley, Ann Arbor, 2003.

11. Faisal Shafait, Daniel Keysers and Thomas M. Breuel (2008). “Efficient implementation of local adaptive thresholding techniques using integral images”. Proc. SPIE 6815, Document Recognition and Retrieval XV, 681510 (28 January 2008). doi:10.1117/12.767755

12. P. L. Rosin, “Unimodal thresholding,” _Pattern Recognition_, vol. 34, no. 11, pp. 2083–2096, Nov. 2001.doi:10.1016/s0031-3203(00)00136-9

13. Yen JC, Chang FJ, Chang S (1995), “A New Criterion for Automatic Multilevel Thresholding”, _IEEE Trans. on Image Processing_ 4 (3): 370-378, doi:10.1109/83.366472

Some algorithms are particularly well-suited for binarizing text documents. Many of the algorithms are actually implemented in the companion package [HistogramThresholding](https://github.com/zygmuntszpak/HistogramThresholding.jl) which currently operates at the level of one-dimensional histograms and not images.

The package was conceptualized and developed during the _University of Adelaide Summer School Scholarship 2019_ program and includes valuable contributions from:

1. Abbey McCarthy
2. Isabella Scalzi
3. Tristan Betterman
4. Wen Siang Tan
5. Robert Woods
6. William Godfrey

You will find important details about the various algorithms in the package [documentation](https://zygmuntszpak.github.io/ImageBinarization.jl/stable/).

We hope you will find the algorithms useful in your own work.

Best wishes,

Zygmunt Szpak

---

<div class="post-metadata">

### Author: ![zgornel](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/zgornel/32/217487_2.png) [@zgornel](https://discourse.julialang.org/u/zgornel)
#### Post date: [March 9, 2019, 9:04pm UTC](https://discourse.julialang.org/t/ann-imagebinarization-jl-automatically-binarize-images-into-background-and-foreground/21653/2 "2019-03-09T21:04:28Z")

</div>

Really nice, keep up the nice work !
