Skip to content

The programs I wrote during Digital Image Processing class in 2008

License

Notifications You must be signed in to change notification settings

Gumix/digital-image-processing

Repository files navigation

digital-image-processing

Here are the programs that I wrote during the Digital Image Processing class in 2008, as well as some new experiments.

  1. Grayscale to black-and-white
    1. Thresholding
    2. Bit-plane slicing
    3. Random dithering
    4. Ordered dithering
      1. Bayer dithering
      2. Clustered dithering
    5. Error-diffusion dithering
      1. Floyd-Steinberg dithering
      2. Jarvis-Judice-Ninke dithering
      3. Atkinson dithering
    6. Image-based dithering
      1. Halftoning with a single texture
      2. Halftoning with texture fusion
  2. Image scaling
    1. Nearest-neighbor interpolation
    2. Bilinear interpolation
  3. Alpha compositing
  4. Intensity transformations
    1. Gamma correction
    2. Linear contrast stretching
    3. Histogram equalization
      1. Histogram equalization
      2. Adaptive histogram equalization
      3. Contrast-limited adaptive histogram equalization
  5. Convolution
  6. Median filter
  7. Segmentation

Input Output (threshold = 100)
Input Output

Output (bit 6) Output (bit 5)
Output Output
Output (bit 4) Output (bit 3)
Output Output

Input Output (threshold = 100, noise = 40)
Input Output

Input Output (4x4 Bayer matrix)
Input Output

Input Output
Input Output

Input Output
Input Output

Input Output
Input Output

Input Output
Input Output

Input Output (block size = 8, alpha = 0.6)
Input Input Output

Input Output (block size = 5, alpha = 0.7, threshold1 = 110, threshold2 = 140)
Input Input Input Output

Input Output (N = 5, cropped)
Input Output

Input Output (N = 5, cropped)
Input Output

Input Output
Output

Input Output (c = 1.0, gamma = 0.6)
Input Output
Input Output
Input Output (c = 1.5, gamma = 1.5)
Input Output
Input Output

Input Output (delta = 1000)
Input Output
Input Output

Input Output
Input Output
Input Output

Input Output (block size = 100)
Input Output
Input Output

Input Output (block size = 64, clip limit = 2.2)
Input Output
Input Output

Input Output (11x11 blur kernel)
Input Output
Input Output (Sharp kernel)
Input Output
Input Output (Vertical Sobel kernel)
Input Output

Input Output (3x3 plus aperture)
Input Output

Input Output (threshold = 128)
Input Output
12 segments
Input (cropped) Output (threshold = 80, cropped)
Input Output
397 segments

About

The programs I wrote during Digital Image Processing class in 2008

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published