Digital Image Processing


Class Information

Class Schedule


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. In the fall and spring quarter, a sequence of interactive web/video modules substitutes the classroom lectures. In the winter quarter, the course is taught conventionally; both versions of the course are equivalent. Recommended: EE261, EE278B.

Teaching Staff

Bernd Girod
Office Hours: By appointment

Course Assistants:
David Chen
Office Hours: Friday, 4pm - 6pm, in Packard 021 (SCIEN Lab)

Huizhong Chen
Office Hours: Thursday, 4pm - 6pm, in Packard 021 (SCIEN Lab)

Weekly Problem Session: Thursday, 1:15pm - 2:05pm, in Gates B03

  • Participation: 10 percent
  • Homeworks: 20 percent
  • Late Midterm: 30 percent
  • Final Project: 40 percent
We reserve the right to change the above grading scheme.


A new homework is released each Monday and is then due by 5:00pm on the following Monday (after 1 week). Homework solutions should be written and submitted individually, but discussions among students are encouraged.

There will be 30% penalty for late homework submitted by Wednesday 5:00pm.

You can submit the homework by (i) emailing a PDF document to, or (ii) placing a paper copy into the EE368/CS232 drawer (2nd floor, near the kitchen area, Packard building). If submitting electronically, please assemble all required responses (math, explanations, images, MATLAB code, etc.) into a single PDF document.

SCPD students sending their solutions electronically should also attach a completed routing form in front of the solutions.

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 OpenEdX platform:
EE368/CS232 OpenEdX Website

To facilitate open discussion of questions, we have also activated a Piazza account for this class:

All students enrolled in the class through Axess will be automatically placed on the email list, the Piazza list, and the OpenEdX enrollment list.

Computing Resources

The computers in the Stanford Center for Image Systems Engineering (SCIEN) Lab can be used to do your work in this class, although you can choose to use other university machines or your own computer. These machines are located in Room 021 (basement) of the Packard building. Room 021 is protected by a door key, which can be obtained by emailing the course staff.

The SCIEN computers are equipped with MATLAB (with the Image Processing Toolbox) and the Android development environment. Another nice feature is that the SCIEN computers use the same username/password login as your normal Leland account, and all your regular files on the Leland network appear when you log into a SCIEN computer. The SCIEN machines can be remotely accessed (e.g., using SSH) by through, using your Leland username/password. If SSH-ing from off campus, you will need to (1) SSH into another university server (e.g., corn, myth, etc.) and then SSH into the SCIEN machine, or (2) use the Stanford VPN service.

For basic tutorials on MATLAB, please look here. MATLAB can be run on the SCIEN machines by typing "/usr/local/MATLAB/R2011b/bin/matlab" from a command-line terminal.

For tutorials on Android which are customized for this class, please look here.

Please contact us if you have any questions about this page.
Last modified: 04/07/2014