Skip to navigation | Skip to main content | Skip to footer

COMP20072: Computer Graphics and Image Processing (2009-2010)

This is an archived syllabus from 2009-2010

Computer Graphics and Image Processing
Level: 2
Credit rating: 10
Pre-requisites: No Pre-requisites
Co-requisites: No Co-requisites
Duration: 12 weeks in semester 2
Lectures: 12 hours spread over 12 weeks
Labs: 10 hours in total, 5 2-hour sessions
Lecturers: Toby Howard, Tim Morris
Course lecturers: Toby Howard

Tim Morris

Additional staff: view all staff
Sem 2 w19-26,30-33 Lecture 1.1 Tue 16:00 - 17:00 -
Sem 2 w20,22,24,26,31,33 PERSONAL Thu 10:00 - 11:00 G
Sem 2 w20,22,24,26,31,33 PERSONAL Tue 11:00 - 12:00 F
Sem 2 w20,22,24,26,31,33 PERSONAL Fri 13:00 - 14:00 H
Sem 2 w21,23,25,30,32 Lab G23 Thu 09:00 - 11:00 G
Sem 2 w21,23,25,30,32 Lab UNIX Tue 11:00 - 13:00 F
Sem 2 w21,23,25,30,32 Lab G23 Fri 13:00 - 15:00 H
Assessment Breakdown
Exam: 75%
Coursework: 5%
Lab: 20%
Degrees for which this unit is optional
  • Artificial Intelligence BSc (Hons)


Visual Computing brings together two fundamentally important aspects of modern computing: computer graphics ? concerned with the synthesis of images from computer models ? and computer vision, which deals with analysis and understanding of images by computers. There are now considerable overlaps between these two, traditionally separate, fields of research and their applications.

The Visual Computing theme consists of the following course units:
Year 2: Computer Graphics and Image Processing (10 credits)
Year 3: Advanced Computer Graphics (10 credits)
Year 3: Computer Vision (10 credits)


The importance of visual interfaces has never been greater. Graphical interfaces have become ubiquitous, from desk-top interaction, to games and three-dimensional virtual environments. In parallel, there has been an explosion in digital image processing and analysis. We take for granted digital photography and video, while our health services rely on digital X-ray systems, CT and MRI scanners for seeing inside our bodies. Meanwhile, the visualization of computer simulations is an essential aspect of product design and testing, genome exploration, drug design, and climate modelling. The demand for computer scientists with advanced knowledge of such areas has never been greater.

The theme will enhance your knowledge and understanding, answering such questions as:
How are images stored, processed and manipulated?
How can computers interpret images captured by cameras and other recording devices?
How are three-dimensional environments represented in a computer, and how are interactive 3D worlds created?
How are 2D and 3D representations combined ? for example, how can we recover 3D geometry from 2D images?
How are the basic mathematical techniques and algorithms used to build useful applications?

Learning Outcomes

A student completing this course unit should:

Have knowledge and understanding of image processing algorithms and applications
Have knowledge and understanding of image transforms, including image representations, resolution, point, local and global transforms.
Have knowledge and understanding of image enhancement including image smoothing and sharpening, image segmentation, image morphology.
Have a knowledge and understanding of the structure of an interactive computer graphics system, and the separation of system components.
Have a knowledge and understanding of geometrical transformations and 3D viewing.
Be able to create interactive graphics applications using OpenGL
Have a knowledge and understanding of techniques for representing 3D geometrical objects.
Have a knowledge and understanding of the fundamental principles of local and global illumination models.

Assessment of Learning outcomes

Outcomes are assessed by a mixture of laboratory assignment and examination.

Contribution to Programme Learning Outcomes

A1, A2, A5, B1, B2, C5, D5.


Fundamentals (1 week)
2 and 3 D Coordinate systems. Vectors, matrices and basic vector/matrix operations.2 and 3 D geometric transformations (translation, rotation, scaling, affine).

Image Transformations (2 weeks)
Pixels, pixel values, grey level, spatial resolution, colour representations, image transformations: point transformations (windowing, histogram equalisation, colour transformations ? colour spaces).
Practical core
MATLAB programming, MATLAB exercises in image manipulation. Manipulating greyscale images. Matrix manipulation in MATLAB, image translation, rotation and scaling (bilinear interpolation), affine transformations.

Image Enhancement (3 weeks)
Local processes, convolution, image smoothing (local averaging, weighted averaging), size of support, Gaussian mask. Edge enhancement (unsharp masking). Edge detection (Prewitt, Sobel, Canny), Thresholding, blob detection, simple measurement (geometric features). Rank order filters (median, max-min).

Practical core
MATLAB exercises in image processing. Noise reduction. General image convolution code. Using the code to make an edge detector (Sobel, Prewitt), Combined smoothing and edge detection ? scale.

3D Modelling and Illumination (5 weeks)
The camera model. Viewing and projection. Points, lines, B?zier curves. Polygons, B?zier surfaces. Local illumination: ambient, diffuse and specular components. Interpolation: intensity (Gouraud) and normal vector (Phong). Surface detail: textures, bump mapping. Model structuring using scene graphs. Masters and instances. Inheritance of transformations and attributes.

Practical core
MATLAB and OpenGL (in C) exercises. Self-paced Coursework Assignments using example programs and software tools (with a small amount of experiment-driven programming).