📦 Toy Box] Traditional Image Processing

  • This repository implements traditional image processing technologies as naive C++.
  • The OpenCV library is not used except for reading images or drawing histograms.
  • You can check the results through simple examples.
  • It can be helpful for people who are studying image processing for the first time.

📋 Table of content




⚙ Environment Setting

  • Microsoft Visual Studio 2017 (v141)
  • OpenCV == 3.4.1
  • Windows SDK version == 8.1
  • Release/x64



✨ Brightness & Darkness

  • Brightness.cpp

    Brightness_Console

Brightness

Brightness

Darkness

Darkness



➕ Composition

  • Composite.cpp

Result

Composition



🎽 Contrast Stretching

  • ContrastStretching.cpp

Result

ContrastStretching



🌐 Mosaic

  • Mosaic.cpp

Result

Mosaic



⚖ Histogram Equalization

  • Histogram_Equalization.cpp

Result

HistogramEqualization



🔪 Blurring & Sharpening

  • Blurring_Sharpening.cpp

    Sharpening_Console

Blurring

Blurring

Sharpening - Laplacian kernel 1

Sharpening1

Sharpening - Laplacian kernel 2

Sharpening2



🔍 Edge Detection

  • Edge_Detection.cpp

    Edgedetection

Horizontal kernel

Horizontal

Vertical kernel

Vertical

Diagonal kernel 1

Vertical

Diagonal kernel 2

Vertical

ALL kernel

all



✅ Template Matching

  • Template_Matchng.cpp

Result

TemplateMatching



🏷 Labeling

  • Labeling.cpp

Result

Labeling



📢 TODO

  • Brightness & Darkness
  • Composition
  • Contrast Stretching
  • Mosaic
  • Histogram Equalization
  • Blurring & Sharpening
  • Edge Detection
  • Template Matching
  • Labeling
  • Erosion
  • Dilation
  • Histogram Matching (Histogram Specification)