Aims:

This module focuses on digital image processing. It first introduces the digital image, with a description of how digital images are captured and represented. It then goes on to cover algorithms for image segmentation and feature extraction in direct space. The module then proceeds to cover image filtering techniques with some indication of the role and implications of Fourier space, and more advanced characterisation and feature detection techniques such as edge and corner detection, together with multi-resolution methods, template matching and optical flow techniques.

The module has a strong practical component that allows students to explore a range of practical techniques by implementing their own image processing tools using Matlab or Python.

Learning outcomes:

On successful completion of the module, a student will be able to:


	Understand (i.e., be able to describe, analyse and reason about) how digital images are represented (in the spatial and frequency domain), manipulated, encoded and processed, with emphasis on algorithm design, implementation and performance evaluation.
	

	Implement a variety of image processing algorithms including image manipulation, segmentation, filtering, blending, feature extraction and description, edge detection, template matching and image editing.
	
Content:

Introduction to digital image processing:


	Digital image capture.
	
	
	Data types and 2D representation of digital images.
	
	
	Discrete sampling model.
	
	
	Noise processes.
	
Segmentation:


	Thresholding and thresholding algorithms.
	
	
	Performance evaluation and ROC analysis.
	
	
	Connected components labelling.
	
	
	Clustering algorithms.
	
	
	Graph based methods.
	
	
	Image transformations:
	
	
	Grey level transformations.
	
	
	Histogram equalization.
	
	
	Geometric transformations.
	
	
	Affine transformations.
	
	
	Warps.
	
Image filtering:


	Fourier analysis.
	
	
	Linear and non-linear filtering operations.
	
	
	Image convolutions
	
	
	Separable convolutions.
	
	
	Aliasing, sub-sampling and interpolation.
	
	
	Laplacian pyramids.
	
Edge and corner detection:


	Edge detection.
	
	
	Image structure tensor.
	
	
	Image auto-correlation.
	
	
	Harris corner detector.
	
	
	Sift corner detector/descriptor.
	
Template matching and advanced topics:


	Similarity and dissimilarity matching metrics.
	
	
	Template matching.
	
	
	Optical flow.
	
	
	Non-local means filtering.
	
	
	Poisson image editing.
	
Requisites:

To be eligible to select the undergraduate (FHEQ level 6) delivery of this module as optional or elective, a student must be registered on a programme and year of study for which it is a formally available.

To be eligible to select the taught postgraduate (FHEQ level 7) delivery of this module as optional or elective, a student must: (1) be registered on a programme and year of study for which it is a formally available; and (2) have a bachelor’s degree or higher in a physical science or engineering subject with significant mathematical and programming content.