Digital Image Processing (Fall 2016)

Administrative Matters

Instructor: Lin ZHANG (),

TA: Lijun ZHANG (),, Tel: 18817870825, QQ: 670725540

Office hours: 10:00-11:00 Monday. However, I usually stay in my office, so you may consult me at nealy any time

Evaluation: assignments (3 times, 10 points for each one), paper presentation (10 points), final exam (50 points), attendance (5 points), and class behavior (5 points).

Latest Notices

1. Scores for Assignment3 is available now! (Dec. 27, 2016)

2. Assignment 2 is available now! (Nov. 07, 2016)

3. Scores for Assignment1 is available now! (Nov. 03, 2016)

4. Course website is available! (Sep. 11, 2016)

Lecture Slides

Slides and Handouts

Related Materials

Introduction to Image Processing

Handout 01

1. Chapter 1 of Gonzales&Woods

2. Synthesizing Images Using Simple Equations

3. Matrix Indexing in Matlab

4. An Introduction to Matrix Manipulation in Matlab

5. MATLAB Array Manipulation Tips and Tricks

Digital Image Fundamentals

Handout 02

1. Chapter 2 of Gonzales&Woods

2. Cone Cell (wiki)

3. Rod Cell (wiki)

Intensity Transformations and Spatial Filtering

Handout 03 (part I)

solution for 2.5

solution for 2.6

Handout 03 (part II)

1. 3.1~3.7 of Gonzales&Woods

2. Codes for taking the negative of an image (takenegative.m hand-xray.jpg)

3. Codes for displaying Fourier magnitude (showFourierSpectrum.m, me.bmp)

4. Codes for ConstrastStretching

5. Codes for bit-plane slicing (bitplaneslicing.m ssegray.bmp)

6. citylandscape.tif, kidney.bmp

7. Codes for median filtering (medianFiltering.m me.bmp)

8. Codes for Laplacian sharpening (laplacianSharpen.m sse.bmp)

Filtering in the Frequency Domain

Handout 04

1. Chapter 4 of Gonzales&Woods

2. Codes for "Filtering in Fourier Domain" (filteringInFourierDomain.m, me.bmp)

3. Codes for "Convolution via Fourier Transform" (convolutionViaFourier.m, me.bmp)

4. Codes for "Butterworth Low-pass Filtering" (ButterworthLP.rar)

5. Codes for "Butterworth High-pass Filtering" (ButterworthHP.rar)

Image Restoration

Handout 05

1. Chapter 5 of Gonzales&Woods

2. Codes for "Simulation for Periodic Noise" (periodicNoise.m)

3. Codes for "Gaussian Noise Reduction" (GauNoiseReduction.rar)

4. Codes for "Max and Min Filters" (maxAndMinFilters.m, tongji.bmp)

5. Codes for "Bandpass or bandreject filters" (bandrejectOrPassFilters.m)

6. Codes for "Butterworth notch reject filter" (notchreject.m, ButterworthNotchFilter.m)

7. Codes for "Periodic noise removal by using notch reject filters" (ButterworthNotchFilter.m, periodicNoiseRemovalByUsingNotchRejectFilters.m, tongjiwithPeriodicNoise.bmp)

Geometric Transformations and Image Registration

Handout 06

1. Codes for "Display images in the same coordinates" (showImgsSameFig.m)

2. Codes for "Manual registration" (manualReg.m, gate1.bmp, gate2.bmp)

Image result for camera calibration

Measurement Using a Single Camera

Handout 07

1. Z. Zhang, A Flexible New Technique for Camera Calibration, IEEE T-PAMI, 2000

Image Segmentation

Handout 08

1. Chapter 10  of Gonzales&Woods

2. Codes for "Point detection" (pointDetec.m, turbine-blade.jpg)

3. Codes for "Gradient computation" (gradients.m, sse.bmp)

4. Codes for "Basic global thresholding" (basicGT.m, fingerprint.jpg)

5. Codes for "moving average thresholding" (main.m, movingThresh.m, text.bmp,

Perceptual Image Quality Assessment

Handout 09 (Part 1)

Handout 09 (Part 2)

1. Z. Wang et al., "Image quality assessment: From error visibility to structural similarity," IEEE Trans. Image Processing 13 (4) 600-612, 2004

2. Z. Wang and A.C. Bovik, "Mean squared error: Love it or leave it?" IEEE Signal Processing Magazine 26 (1) 98-117, 2009

3. Lin. Zhang et al., "FSIM: A feature similarity Index for image quality assessment," IEEE Trans. Image Processing 20 (8) 2378-2386, 2011

4. Lin Zhang et al., "A feature-enriched completely blind image quality evaluator", IEEE Trans. Image Processing 24(8) 2579-2591, 2015

5. A. Mittal et al., "Making a completely blind image quality analyzer," IEEE Signal Processing Letters 20 (3) 209-212, 2013

6. Research on IQA in Tongji University,

7. Codes for "structural similarity" (ssim.rar)

8. Codes for "phase congruency" (phasecongruency.rar)

9. Codes for "feature similarity" (fsim.rar)

10. Codes for "NIQE" (NIQE.rar)

11. Codes for IL-NIQE



1. Compress all files into a .rar file whose name is composed of student name and ID.

2. For the programming assignments, please use Matlab.

3. All the documents you hand in, including comments in the source codes, should be in English.

4. Please send your solutions to the TA (email: and confirm with TA that he has received your email successfully.

Main References

Rafael C. Gonzalze and Richard E. Woods

Digital Image Processing (3rd Edition)

Prentice Hall, 2008

R.C. Gonzalez, R.E. Woods, and S.L. Eddins,

Digital Image Processing Using MATLAB (2nd Edition)

Prentice Hall, 2009

Milan Sonka, Vaclav Hlavac, and Roger Boyle

Image Processing, Analysis, and Machine Vision

Thomson, 2008

Other Related Materials

1. MathType Hotkeys (MathType is a wonderful tool to input equations to Microsoft Word seamlessly. You can try to use this tool when preparing your report. And I am sure you will once again like it when you prepare your final thesis. In MathType, there are many hotkeys and it is even more convenient to use hotkeys than to use mouse. So, I summarize the commonly used mathtype hotkeys in this document.)

3. A Matlab Tutorial (Composed by Ed Overman, Dept. Mathematics, The Ohio State University)

4. Matlab Code Vectorization Guide

Created on: Sep. 11, 2016

Last updated on: Dec. 27, 2016