Course information

C++ for Image Processing

(ECS624U / ECS756P/D)


The main purpose of this course is to provide an introduction to basic knowledge for C++ programming and basic concepts and methodologies for digital image processing.


Some mathematical background, such as calculus, complex arithmetic, statistics, linear algebra, basic understanding of signal processing (Fourier transform), some programming experience.



This course gives students a practical introduction to C++ and uses this programming language to examine applications in low level image processing. Areas covered include image representation examining perception, sampling and display, and image transforms and image enhancement using point and spatial operations. Also considered are image processing methods such as convolution, frequency filtering and image restoration, compression and segmentation.


One 2 hour and 30 minute examination, 80%. 20% assessed coursework



Digital Image Processing (2nd Edition), by Rafael C. Gonzalez, and Richard E. Woods, 793 pages, Prentice Hall, 2002, ISBN: 0201180758.

C++: The Complete Reference, (4th Edition), by Herbert Schildt, 1056 pages, McGraw-Hill Osborne Media, 2002, ISBN: 0072226803


Reference books:

Digital Image Processing using MATLAB, by Rafael C. Gonzalez, and Richard E. Woods, 793 pages, Prentice Hall, 2002, ISBN: 0201180758.

Image Processing: The Fundamentals, by M. Petrou and P. Bosdogianni, 354 pages, John Wiley & Sons, 1999, ISBN: 0471998834

Algorithms for Image Processing and Computer Vision, by J. R. Parker, 432 pages (with CD-ROM), John Wiley & Sons, 1996, ISBN: 0471140562.

Computer Vision and Image Processing, by Tim Morris, 320 pages, Palgrave Macmillan, 2003, ISBN: 0333994515


Reference journals:

IEEE Trans. Image Processing

IEEE Trans. Signal Processing

IEEE Trans. Medical Imaging

Computer Vision and Image Understanding (CVIU)

Graphical Modeling and Image Processing

Computer Vision, Graphics and Image Processing (CVGIP)


Reference conference proceedings:

International Conference on Image Processing (ICIP)

IEEE International Conference on Computer Vision (ICCV)

IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR)

Webpages and Mailing Lists

The Course - :

The Course - QM+ :

The Course - Image Processing labs:

The Course - Lecture notes (image processing):

The Course - Coursework:

The Course - Intranet:

The Course - Mailing lists:;;


Past exam papers are available on the EECS intranet or the QMUL library.


The text book and image processing:

C++ language tutorial:

C++ library reference:

MSDN to the C++ reference:


Image processing: Pengwei Hao (

Labs and exercises: Zhaoyang Xu (, Zongyi Xu ( .

Schedule (tentative)



DIP & C++



Lab Session

Week 1


C++: Classes, Objects, Inheritance, Protection

Chapter 1, C++

Week 1

Week 2

C++: Pointers, Memory Management and Arrays


Week 2

Week 3

C++ I/O: STL, File I/O, Namespaces, Preprocessing


Week 3

Week 4

Image representation, sampling and quantization; pixel relationships, distance, image operations, averaging

Chapter 2

Week 4

Week 5

Image filtering/convolution, smoothing and sharpening

3.5, 3.6

Week 5

Week 6

Image enhancement in spatial domain, histogram

Chapter 3

Week 6

Week 7

Reading week

Fourier Analysis

Week 7

Week 8

Fourier transform, Image enhancement in frequency domain

Chapter 4

Week 8

Week 9

Image restoration: degradation models, inverse filters, deconvolution

Chapter 5

Week 9

Week 10

Image segmentation: edge detection, thresholding

Chapter 10

Week 10

Week 11

Image compression: information theory, Huffman coding, run-length coding, lossy compression, compression standards

Chapter 8

Week 11

Week 12

Revision (exercises)





Test Images

Mandrill    Lena    Peppers

Baboon                               Lena                                          Peppers

Barbara    Goldhill   

Barbara                               Goldhill                              Cameraman


Baboon                               Lena                                          Peppers

These images (BMP format) can be downloaded here: