Digital Image Processing


Class Information

Class Schedule


Projects Win 2018/19

Projects Win 2017/18

Projects Aut 2016/17

Projects Aut 2015/16

Projects Spr 2014/15

Projects Spr 2013/14

Projects Win 2013/14

Projects Aut 2013/14

Projects Spr 2012/13

Projects Spr 2011/12

Projects Spr 2010/11

Projects Spr 2009/10

Projects Spr 2007/08

Projects Spr 2006/07

Projects Spr 2005/06

Projects Spr 2003/04

Projects Spr 2002/03

Test Images

MATLAB Tutorials

Android Tutorials



Class Information

EE368/CS232: Digital Image Processing

Bernd Girod

3 units, letter grade (ABCD/NP)

Course Description

Image sampling and quantization, color, point operations, segmentation, morphological image processing, linear image filtering and correlation, image transforms, eigenimages, multiresolution image processing, noise reduction and restoration, feature extraction and recognition tasks, image registration. Emphasis is on the general principles of image processing. Students learn to apply material by implementing and investigating image processing algorithms in Matlab and optionally on Android mobile devices. Term project. Recommended: EE261, EE278B. Course catalog entry

Privacy Notice: This class is offered on SCPD for remote students. Weekly lectures and problem sessions are recorded and are available to all students enrolled in this course. This class involves classroom participation and as such, it is possible that students may appear on the audio/video recordings. Session recordings are not accessible to those not enrolled in this course and will not be re-used for future versions of this course.

Teaching Staff

Bernd Girod
Office Hours: By appointment, in Packard 373

Course Assistants:
Jayant Thatte
Office Hours: Monday, 3:00 pm - 5:00pm in Packard 106
Google Hangout account:

Weekly Problem Session: Friday, 1:30 pm - 2:50 pm in Huang Engineering Center 18 (for 7 weeks)

  • Participation: 20 percent
  • Homework problems: 20 percent
  • Midterm exam: 30 percent
  • Final project: 30 percent
  • No final exam
Note: Participation grade is based on the classroom discussions as well as timely completion of lecture videos and quizzes; full credit is given for seriously attempting all quiz questions, even if you don't get 100% of the answers.

We reserve the right to change the above grading scheme.

Instructional Format

The course is taught in ''flipped classroom'' format. All lectures are pre-recorded, edited into shorter topical modules, and supplemented by quiz questions for reinforcement. Lecture videos and quizzes are released every Monday on during the first 7 weeks of the quarter. You must complete all lectures and quizzes by Monday, 1:30 pm of the following week to receive full credit. On Mondays (or Wednesdays, if Monday is a holiday), the class meets in-person to discuss the lectures of the previous week. Students are expected to attend and come prepared.

SCPD Students

SCPD students are not required to attend the weekly lectures. In lieu of in person participation during in-class lectures, SCPD students have the option of submitting a brief video (about 3 minutes long, 5 minutes maximum) relating to a question or a topic discussed in class during that week. SCPD students must either (1) attend the lecture in person, or (2) submit the short video every week.


Note: To calculate the homework grade, we only consider the best 6 out of 7 assignments (worst out of 7 is discarded)

A new homework is released each Monday and is then due by 1:30pm on the following Wednesday (after 9 days).
All weekly Homework must be submitted online via Gradescope. Please create an account and use entry code 9PRV3V.
Homework solutions should be written and submitted individually, but discussions among students are encouraged.

There will be 30% penalty for late homework submitted by Friday 1:30pm. No grade will be given to homework submitted afterwards. (Note: This is only valid for homeworks, there is no late submission allowed for the online quizzes).

Dissemination of Course Information

The main class website ( contains the class schedule, assignments, software tutorials, and general class information.

Lecture videos and interactive quizzes are available in the platform: EE368/CS232 Canvas Website
Note: Online quizzes are released every Monday and are due before the in-class session of the following week -- Monday at 1:30 pm (or Wednesday at 1:30 pm if Monday is a holiday).

SCPD recordings of lecture videos are available on the SCPD platform: EE368/CS232 SCPD Website

To facilitate open discussion of questions, we have also activated a Piazza account for this class.
To enroll in Piazza for this course, click this link:

All students enrolled in the class through Axess will be automatically placed on the email list

Problem Sessions

Problem sessions that review the weekly assignments are held every Friday, 1:30 - 2:50 pm in Huang during the first 7 weeks of the quarter. The sessions are recorded by SCPD.

Late Midterm Exam

The midterm is a 24-hour take-home exam. Students can choose one of 3 slots in the February 26-29 time window. Problems are similar to the weekly assignments, but should require less time overall (typically 5-6 hours).

Final Project

The final project is a two-week competition to solve a challenging image processing problem using the tools that have been discussed in the class. Solutions must be submitted individually; no collaboration is allowed. Matlab code will be evaluated by the teaching staff on a previously unseen data set. The project is graded based on performance, technical merit, and the quality of the written report. The final project assignment is released on Monday, March 2, 2020. Reports and source code are due on Friday, March 13 (last day of classes).

Projects for Extra Credits

Research projects that complement EE368/CS232 can be arranged on a limited basis. Interested individuals or groups must consult with the instructor before signing up for 3 units of EE390/EE391 or equivalent.

Computing Resources

All students can access MATLAB for free on Stanford FarmShare:
For basic tutorials on MATLAB, please look here.

Popular Textbooks and Reading Material

  1. William K. Pratt, "Introduction to Digital Image Processing", CRC Press, 2013
  2. R. C. Gonzales, R. E. Woods, "Digital Image Processing", 4th Edition, Pearson, 2018
Software-Centric Textbooks:
  1. R. C. Gonzales, R. E. Woods, S. L. Eddins, "Digital Image Processing using MATLAB", 2nd Edition, Gatesmark Publishing, 2009
  2. A. Kaehler, G. Bradski, "Learning OpenCV 3", O'Reilly Media, 2017
Journals and Conference Proceedings:
  1. IEEE Transactions on Image Processing (TIP)
  2. IEEE International Conference on Image Processing (ICIP)
  3. IEEE Computer Vision and Pattern Recognition (CVPR)

Please contact us if you have any questions about this page.
Last modified: 11/19/2019