GISC 4360K - Digital Image Processing

Required textbook: Digital Image Processing, 4th edition by Gonzalez and Woods (2018)

1   Lectures

  1. Lecture 1: How to set up Python for geospatial science and computing
    1. Python basics
  2. Lecture 2: What is digital image processing?
  3. Lecture 3: Digital image fundamentals
    1. Homework 1: Wavelength and image storage
  4. Lecture 4: Zooming, shrinking, and grayscaling of images
    1. Homework 2: Bilinear interpolation
  5. Lecture 5: Relationships between image pixels
    1. Homework 3: Shortest paths
  6. Quiz 1
  7. Lecture 6: Image transformations and slicing
  8. Lecture 7: Logic and arithmetic image operations
    1. Exercise 1: Shadow enhancement using logic operations
    2. Exercise 2: Noise reduction using averaging
    3. Homework 4: Non-shadow enhancing
  9. Lecture 8: Histogram equalization of images
  10. Lecture 9: Local image enhancement and image-smoothing spatial filters
    1. Exercise 3: Shadow enhancement using local enhancement
    2. Exercise 4: Smoothing
    3. Exercise 5: Noise reduction
    4. Homework 5: Local image enhancement
  11. Lecture 10: Image-sharpening spatial filters
    1. Exercise 6: Edge extraction
    2. Exercise 7: Sharpening 1
    3. Exercise 8: Sharpening 2
    4. Exercise 9: Sharpening 3
    5. Homework 6: Image sharpening filter
  12. Quiz 2
  13. Lecture 11: Fourier series
  14. Lecture 12: Introduction to the discrete Fourier transform
    1. Exercise 10: One-dimensional image
    2. Exercise 11: Two-dimensional image
  15. Lecture 13: Introduction to frequency-domain filtering
    1. Exercise 12: Plotting $F(u)e^{2i\pi ux/M}$
    2. Exercise 13: Reading the Fourier spectrum
    3. Exercise 14: Fourier transform components
  16. Lecture 14: Frequency-domain filtering
    1. Exercise 15: Fourier transform
    2. Exercise 16: Ideal low-pass filter
    3. Exercise 17: Gaussian low-pass filter
    4. Exercise 18: Gaussian high-pass filter
    5. Homework 7: Fourier transform
  17. Quiz 3
  18. Lecture 15: Color fundamentals
    1. Homework 8: Color interpolation
  19. Lecture 16: Color models
    1. Exercise 19: RGB-to-CMY conversion
    2. Exercise 20: RGB-to-HSI conversion
    3. Exercise 21: HSI-to-RGB conversion
    4. Homework 9: Color model conversions
  20. Lecture 17: Full-color image processing
    1. Exercise 22: RGB-to-CMY conversion in ArcGIS Pro
    2. Exercise 23: RGB-to-HSI conversion in ArcGIS Pro
    3. Exercise 24: HSI-to-RGB conversion in ArcGIS Pro
    4. Exercise 25: Smoothing
    5. Exercise 26: Sharpening
    6. Exercise 27: Extracting clouds using color segmentation
    7. Homework 10: Removing clouds using color segmentation
  21. Exercise 28: Linear feature extraction using spatial filters (Example 10.2)
  22. Lecture 18: $k$-nearest neighbors algorithm
    1. Exercise 29: $k$-nearest neighbors classification
    2. Exercise 30: Color-based forest classification using the $k$-nearest neighbors algorithm
    3. Exercise 31: Tiling-color-based forest classification using the $k$-nearest neighbors algorithm
  23. Quiz 4

2   How-to’s

3   Review materials

4   Python modules

5   Past materials

6   Past projects

6.1   Spring 2019

Hurricane Michael damage assessment poster by Zach Reeves, Spring 2019.svg

7   Fourier vector tracing

fourier-grasslogo-with-circles.gif

Animation created using https://github.com/HuidaeCho/vector_tracer.py. Vector data from https://grass.osgeo.org/images/logos/grasslogo.svg.

8   References

9   Journal articles