ECE 847 Digital Image Processing
Fall 2009

This course introduces students to the basic concepts, issues, and algorithms in digital image processing and computer vision. Topics include image formation, projective geometry, convolution, Fourier analysis and other transforms, pixel-based processing, segmentation, texture, detection, stereo, and motion. The goal is to equip students with the skills and tools needed to manipulate images, along with an appreciation for the difficulty of the problems. Students will implement several standard algorithms, evaluate the strengths and weakness of various approaches, and explore a topic of their own choosing in a course project.



Week Topic Assignment
1 Pixel-based processing HW1:  Warm-up, due 8/28
2 Pixel-based processing Quiz #1, 9/4
3 Filters and edge detection HW2:  Pixels and regions, due 9/11
4 Filters and edge detection Quiz #2, 9/18
5 Segmentation HW3: Edge detection, due 9/25
6 Segmentation Quiz #3, 10/2
7 Stereo HW4: Segmentation, due 10/9
8 Stereo Quiz #4, 10/16
9 Motion HW5: Stereo matching, due 10/23
10 Motion Quiz #5, 10/30
11 Image formation HW6:  Lucas-Kanade tracking, due 11/6
12 Projective geometry Quiz #6, 11/13
13 Projective geometry
14 Color Quiz #7, 12/4
15 Color projects due

Readings and Resources

Readings to complement the lectures:

Computer vision in the news:

Vision in biological systems:

Computer vision companies:


Additional computer vision resources

Resources for current students (restricted access, not open to the public)


In the assignments, you will implement several fundamental algorithms in C/C++, documenting your findings is an accompanying report for each assignment.  C/C++ is chosen for its fundamental importance, ubiquity, and efficiency (which is crucial to image processing and computer vision).   For your convenience, you are encouraged to use the latest version of the Blepo computer vision library.

Your code must compile under VC++ 6.0 or Visual Studio 2008.  To make grading easier, your code should do one of the following:

To turn in your assignment, send an email to (and cc the instructor and grader) with the subject line "ECE847-1,#n" (without quotes but with the # sign), where 'n' is the assignment number.  You may leave the body of the email blank.  Attach a zip file containing your report (in any standard format such as .pdf or .doc; but not .docx), and all the files needed to compile your project (such as *.h, *.c, *.cpp, *.rc, *.dsp, *.dsw; do not include *.ncb, *.opt, *.plg, *.aps, or the res, Debug, or Release directories).  You must send this email from your Clemson account, because the assign server is not smart enough to know who you are if you use another account.  (E.g., do not use  Be sure that this file is actually attached to the email rather than being automatically included in the body of the email (Eudora, for example, has been known include files inline, but this behavior can be turned off).  Also, be sure to change the extension of your zip file (e.g., change .zip to _zip) so that the server does not block the attachment!!!  We cannot grade what we do not receive.  (Also be sure that you're not hiding extensions for known types; in Windows explorer, uncheck the box "Tools.Folder Options.View.Hide extensions for known file types".)  

All assignments are due at 11:59pm on the due date shown.  An 8-hour grace period is extended, so that no points will be deducted for anything submitted before 8:00am the next morning.

In addition to submitting your report electronically, please also turn in a hardcopy.  The deadline for the electronic copy is the same as for the code, whereas the hardcopies should be brought to the instructor by noon of the next business day after the deadline (at the latest). Just slip it under the door if I'm not in.  No points will be deducted for printing in black-and-white, even if the report is in color.  An example report


  • Grading standard:  Detailed grading breakdown is available in the grading chart.



    In your final project, you will investigate some area of image processing or computer vision in more detail. Typically this will involve formulating a problem, reading the literature, proposing a solution, implementing the solution (using the programming language/environment of your choice), evaluating the results, and communicating your findings. In the case of a survey project, the quality and depth of the literature review should be increased significantly to compensate for the lack of implementation.

    Project deadlines:

    To turn in your report, please send me a single email per group (do not email the assign server) with two attachments:

    Both files should have the same name, which should correspond somehow to your topic. Use underscores instead of spaces. Do not send PPTX files. Example: face_detection.pdf and face_detection.ppt.  You do *not* need to send me your code (although you may if you like).

    Projects from previous years


    Instructor: Stan Birchfield, 207-A Riggs Hall, 656-5912, email: stb at clemson
    Office hours:  1:10-2:00pm, MWF, or by appointment
    Grader: Zhichao Chen, 017 Riggs Hall, zhichac at clemson
    Lectures: 12:20 - 1:10 MWF, 223 Riggs Hall