



Next: Concepts in Programming Languages Up: Lent Term 2008: Part Previous: Computation Theory Contents
Computer Graphics and Image
Processing
Lecturer: Dr N.A. Dodgson
No. of lectures: 16
Prerequisite courses: Algorithms, Mathematical Methods for Computer Science (IB only, for one lecture of Image Processing part of the course)
This course is a prerequisite for Advanced Graphics (Part II).
Aims
To introduce the necessary background, the basic algorithms, and the applications of computer graphics and image processing. A large proportion of the course considers the design and optimisation of algorithms, so can be considered a practical application of the lessons learnt in the Algorithms course.
Lectures
- Background. What is an image? What are computer graphics,
image processing, and computer vision? How do they relate to one
another? Image capture. Image display. Human vision. Resolution and
quantisation. Colour and colour spaces. Storage of images in
memory, and double buffering. Display devices: the inner workings
of CRTs, LCDs, and printers. [3 lectures]
- 2D Computer graphics. Drawing a straight line. Drawing
circles and ellipses. Cubic curves: specification and drawing.
Clipping lines. Filling polygons. Clipping polygons. 2D
transformations, vectors and matrices, homogeneous co-ordinates.
Uses of 2D graphics: HCI, typesetting, graphic design. [5 lectures]
- 3D Computer graphics. Projection: orthographic and
perspective. 3D transforms and matrices. 3D clipping. 3D curves. 3D
scan conversion. z-buffer. A-buffer. Ray tracing. Lighting:
theory, flat shading, Gouraud, Phong. Texture mapping.
[5 lectures]
- Image processing. Operations on images: filtering, point
processing, compositing. Halftoning and dithering, error diffusion.
Encoding and compression: difference encoding, predictive, run
length, transform encoding (including JPEG). [3 lectures]
Objectives
At the end of the course students should be able to
- explain the basic function of the human eye and how this
impinges on resolution, quantisation, and colour representation for
digital images; describe a number of colour spaces and their
relative merits; explain the workings of cathode ray tubes, liquid
crystal displays, and laser printers
- describe and explain the following algorithms: Bresenham's line
drawing, mid-point line drawing, mid-point circle drawing, Bezier
cubic drawing, Douglas and Pucker's line chain simplification,
Cohen-Sutherland line clipping, scanline polygon fill,
Sutherland-Hodgman polygon clipping, depth sort, binary space
partition tree, z-buffer, A-buffer, ray tracing, error
diffusion
- use matrices and homogeneous coordinates to represent and
perform 2D and 3D transformations; understand and use 3D to 2D
projection, the viewing volume, and 3D clipping
- understand Bezier curves and patches; understand sampling and
super-sampling issues; understand lighting techniques and how they
are applied to both polygon scan conversion and ray tracing;
understand texture mapping
- explain how to use filters, point processing, and arithmetic
operations in image processing and describe a number of examples of
the use of each; explain how halftoning, ordered dither, and error
diffusion work; understand and be able to explain image compression
and the workings of a number of compression techniques
Recommended reading
* Foley, J.D., van Dam, A., Feiner, S.K. & Hughes, J.F. (1990). Computer graphics: principles and practice. Addison-Wesley (2nd ed.).
Gonzalez, R.C. & Woods, R.E. (1992). Digital image processing. Addison-Wesley. [Gonzalez, R.C. & Wintz, P. (1977). Digital image processing is the earlier edition and is almost as useful.]
* Slater, M., Steed, A. & Chrysanthou, Y. (2002). Computer graphics and virtual environments: from realism to real-time. Addison-Wesley.




Next: Concepts in Programming Languages Up: Lent Term 2008: Part Previous: Computation Theory Contents