Python网课代修 | ECE 533 Digital Image Processing Syllabus


The official catalog description for the course is outdated:

ECE 533 Digital Image Processing

Fundamentals of 2D signals and systems. Introduction to multidimensional signal processing.

Applications in digital image processing. Image formation, representation and display. Linear and nonlinear operators in multiple dimensions. Orthogonal transforms representation and display.

Image analysis, enhancement, restoration and coding. Students will carry out image processing projects.

The students will find all of the regular lecture material online. This includes video lectures, PDF files, homework assignments, etc.


The textbooks for the course will be:

[DIP] Al Bovik, Ed., The Essential Guide to Image Processing, Academic Press, 2009.

[DVP] Al Bovik, Ed., The Essential Guide to Video Processing, Academic Press, 2nd ed., 2009.

You can download the examples that we run in class from:

At the undergraduate level, the previous textbook used in this course is still very useful:

[Gonz-1] R.C. Gonzalez and R.E. Woods, Digital Image Processing, Prentice Hall, 3rd ed., 2007.

It’s companion provides a very quick way to learn image processing based on Matlab:

[Gonz-2] R.C. Gonzalez, R.E. Woods, and S.L. Eddins, Digital Image Processing Using Matlab,

Gatesmark Publishing, 2nd ed., 2009.

For embedded systems, the standard reference remains:

[OpenCV] A. Kaehler and G. Bradski, Learning OpenCV: Computer Vision in C++ with the OpenCV    Library; 2nd ed., 2012.

See comments below regarding OpenCV.

In terms of Python software patterns, we will be using:

[CNN] Aurelien Geron, Hands-On Machine Learning with Scikit-Learn & TensorFlow

                         Concepts, Tools, and Techniques to Build Intelligent Systems,

2nd Edition, O’Reilly Media, 2019.

Some important practical considerations can be found at:

[CNN2] Anirudh Koul, Siddha Ganju & Meher Kasam, Practical Deep Learning for Cloud, Mobile &

                          Edge: Real-world AI & Computer-Vision Projects Using Python, Keras & Tensorflow,

1st Edition, O’Reilly Media, 2019.

You can view these book freely at UNM by going to:

In terms of modern, Statistical Learning Theory, we will use:

[ESL1] James, G., Witten, D., Hastie, T., and Tibshirani, R. (2013). An introduction to statistical learning.

[ESL2] Friedman, Jerome, Trevor Hastie, and Robert Tibshirani. (2009). The Elements of Statistical

              Learning: Data Mining, Inference, and Prediction, Second Edition.


Please note that the topics are NOT necessarily in order!

  • DIP:Lecture 1 – Course Introduction (Chapters 1 & 2)
  • DIP:Lecture 2 –Basics: Binary and Grayscale Image Processing (Chapters 3 & 4)
  • DIP:Lecture 3 for FFT and DVP:Lectures 1, 2, 3, for Fourier Transforms.
  • DIP:Lecture 4 for Linear Filtering, FFT-based convolutions and DVP:Lecture 4 Video Filters.
  • DIP:Lecture 5 – Image Denoising (lecture notes)
  • DIP:Lecture 6 – Image Compression
  • DIP:Lecture 7 – Image Analysis I: Image Quality, Edge/Shape Detection, Search, SIFT (Chapters 21, 19)
  • DVP:Lectures 5 and 6: Motion Estimation
  • DVP:Lecture 8 Video Compression
  • ESL1, ESL2, CNN: Fundamentals of Statistical Learning for Image Processing Projects:
    • Introduction to Statistical Learning Theory
    • Fundamentals of Python (instructor notes)
    • ESL1, ESL2, CNN:Chapter 3 Classification
    • ESL1, ESL2: Fundamentals of Regression
    • CNN:Chapter 4 Training Models
    • CNN:Chapter 11 Training Deep Neural Nets
    • CNN:Chapter 13 Convolutional Neural Networks

In addition, I will provide additional material on the following subjects:

  • Two-Dimensional Fourier Transforms
  • Writing and Presenting papers in Digital Image and Video Processing

The students will be expected to present image processing projects. We will also supplement with material on OpenCV, and possibly FPGA related information.


I will support Python, Matlab, and R.

Grading Policy

Final Exam                12.5%

Final Project              25%

Homework and Quizzes   62.5%