Version 17 (modified by alexandra.olteanu, 14 years ago) (diff)


GmImgProc: Life is better with us


  • Team members: Alexandru Stefanescu - alexandru.stefanescu1708, Alexandra Olteanu - alexandra.olteanu
  • Project description: Image processing : binarization with otsu1d, otsu2d, niblack; image color uniformization

Technologies we use


Image processing for OCR and content extraction

Implies a set of costly operations like:

  • Binarization – the resulted image is formed by two classes separated by a threshold t : foreground and background
  • Noise detection
  • Clustering for creating meta-entities (ex: characters, lines)
  • Detection and/or classification of page components: line, table, character, frame, image, etc
  • Skew Detection and correction
  • Geometrical distortions correction
  • And the list may continue

For this project our aim was to implement and parallelize methods for image binarization and to try different solutions to improve our results and to remove noise:

  • Otsu 1D
  • Otsu 2D
  • Niblack
  • Color Uniformization


  1. Play with the framework
  1. Otsu1d serial implementation 2.1. For rectangular zones

2.2. Make it work for non-rectangular zones

  1. Otsu2d serial implementation 3.1. For rectangular zones

3.2. Make it work for non-rectangular zones

  1. Niblack serial implementation 4.1. Just for rectangular zones
  1. Image color uniformization
  1. Otsu1d parallelization with openMP (for non-rectangular zones version)
  1. Otsu2d parallelization with openMP (for non-rectangular zones version)
  1. Niblack parallelization with openMP
  1. Parallelization of image color uniformization algorithm with openMP
  1. Otsu2d parallelization with openCL

Project documentation

Serial implementation results and documentation(steps 1-5):

Results & Profiling

  • Otsu1d

otsu1d alg - profiling

  • Otsu2d

otsu2d alg - profiling

  • Niblack

niblack - profiling

  • Color uniformization

color uniformization alg - profiling


  • compiled with Visual Studio 2005 & Intel C++ (included in Intel Parallel Studio)
  • we used an existing private image framework


Attachments (9)

Download all attachments as: .zip