Digital Image Processing and Analysis

ENSC 460/895 

Summer 2008 (May to Aug. 2008)


Instructor: Parvaneh Saeedi


The main prerequisites that the students need are CMPT 128-3 and CMPT 225-3 or equivalents.  All the assignments in this course will be done in C/C++ therefore you need to be able to program in C/C++. Course admission requires instructor permission, and admission to the course is handled using an application form (see below).

 Application Form


APPLICATION FORM IS DUE March 14, 2008. Please submit form to the ENSC receptionist and have it deliver to Dr. Parvaneh Saeedi.


Lectures: Mondays and Wednesdays 15:30 to 16:50, AQ5030.
Office: ASB 10837
Email: psaeedi[at]sfu[dot]ca

Office Hours: Usually by appointment (send an email to either the instructor or the T.A.s)

Course Material: <>


·        To be announced later


Tutorial: Fridays 8:30 to 10:20, QA5007.


Course Objectives:

-       To provide an introduction to some of the concepts and methodologies for formation constraints,

-       To develop the necessary foundation for analysis of images and for understanding what is possible to determine from an image,

-       To learn techniques for analyzing digital images to determine information about the world being imaged,

-       To gain practical experience in the area of digital image processing.


Course Textbook:

1.    Digital Image Processing, Third Edition, by Rafael C. Gonzalez and Richard E. Woods.

2.    Computer Vision, A Modern Approach, by David A. Forsyth and Jean Ponce (not mandatory but recommended).


Course Evaluation Scheme:

1.    Assignments: [20% of the course mark].  Approximately one per week, posted on the web page on Wednesdays at noon and due the following Wednesday at midnight or noon. See section “Handing in Assignments and reports” for more details.


2.    Course Project: [20% of the course mark]. 


3.    Midterm: [25% of the course mark] 

It covers all the material seen previously either in the lectures, tutorials, and assignments (including the reading assignments) from day one of the course up to and including the last day of the week before the exam. The exam also includes the material of the assignment currently pending (the one handed out the week before the week if the exam.)  The Exam is closed book test (no books, notes or formula sheet is allowed). 


4.    Final examination: [35% of the course mark]

That covers all the material in the course as described for midterms above, from day one to the last day of classes.


Missing assignments deadlines, or missing the midterm examination:

Missing assignments are accounted for as zero marks and averaged at the end of the term.  Unfortunately, no makeup has been scheduled for assignments, since the TAs have a limited number of hours of active contract (union). The exception to what was said in the previous sentences is for cases with either a medical justification, or a letter from a ranking authority in the student's department clarifying that the student was otherwise and fully engaged during those days on account of some workload associated with courses at SFU.  In these last cases (the exceptions), no makeup report or assignment will be accepted either, but the final average will not include the corresponding entry.   Missing midterms will not have a make up either, but their percentage will be added to the final's, that is, one missing midterm gives the final a weight of 60%.


Handing in Assignments and reports:

Weekly assignments that require programming will be handed through the SFU’s WebCT (with a deadline on midnight of the day that the assignment is due). 

Assignments with no programming could be handed in paper form; however the deadline for paper submissions is on Wednesdays at 4pm. You may still hand in a soft copy of your assignment through the WebCT with a deadline set on midnight of the due day. An assignment box for this course is allocated on the main office. Given the limited number of hours contracted to the TAs and according to the guidelines of the TA union, assignments and reports will be received for marking only on the day it is due.


Important: With each assignment, you need to submit a report that includes results and their discussion, and all the codes that you have been developing for that specific assignment.


Course Outline:

-          Introduction

What is digital image processing?

The origins of digital image processing

Examples of fields that use digital image processing

Fundamental steps in digital image processing

-          Digital Image Fundamentals

Elements of visual perception

Light and the electromagnetic spectrum

Image sensing and acquisition

Image sampling and quantization

Some basic relationships between pixels

Linear and nonlinear operations

-          Image Enhancement in the Spatial Domain


Some Basic Gray Level Transformations

Histogram Processing

Enhancement Using Arithmetic/Logic Operations

Basics of Spatial Filtering

Smoothing Spatial Filters

Sharpening Spatial Filters

Combining Spatial Enhancement Methods

-       -     Image Enhancement in the Frequency Domain

Introduction to the Fourier Transform and the Frequency Domain

Smoothing Frequency-Domain Filters

Sharpening Frequency Domain Filters

Homomorphic Filtering

-          Image Restoration

A Model of the Image Degradation/Restoration Process

Noise Models

Restoration in the Presence of Noise Only–Spatial Filtering

Periodic Noise Reduction by Frequency Domain Filtering

Linear, Position-Invariant Degradations

Estimating the Degradation Function

Constrained Least Squares Filtering

Geometric Mean Filter

-          Color Image Processing

Color Fundamentals

Color Models

Pseudocolor Image Processing

Basics of Full-Color Image Processing

Color Transformations

Smoothing and Sharpening

Color Segmentation

Noise in Color Images

-          Stereo Vision

Concept of stereo vision

Similarity measurements

Image correlation concept

3D information from 2D images

-          Image Registration


Feature Detection

Feature Matching

Transform Model Estimation

Evaluation of the Image Registration Accuracy

-          Morphological Image Processing


Dilation and Erosion

Opening and Closing

Some Basic Morphological Algorithms

Extensions to Gray-Scale Images

-          Image Segmentation

Detection of Discontinuities

Edge Linking and Boundary Detection


Region-Based Segmentation


Note: Course outline (coverage) may be modified according to the level of the class, progress and time at anytime.


Code of Academic Honesty:

Please read and understand SFU’s constitutes of academic dishonesty from the following link: <>.