Digital Image Processing

Like This Course?

More Info

Institution Location

Related Courses
Meat Processing
Meat Processing
Course overview
The aim of this course is to provide the attendee with an overview of the fundamentals of image processing and computer vision software techniques as a precursor to further research, study and development within this domain. The course is themed around the development of image processing from a software development perspective and includes practical lab sessions on image processing software development using a C/C++ software environment in addition to lecture/tutorial type sessions.
The most powerful method of sensing available to humans is vision. In computing visual information is represented as a digital image. In order to process visual information in computer systems we need to know about processing digital images. Here we focus upon the task of low-level visual processing in the digital form and how to implement such techniques in software.
The course will be delivered as a series of short lectures, tutorials and practical lab sessions in which students will develop a range of practical image processing algorithms using the C/C++ software environment. Presented lecture content is supported by "live" in-lecture image processing demos, the program source code for which is made available to delegates to form part of the practical lab sessions. Lab sessions are PC based using C/C++ programming to perform image processing from images, videos and PC connected cameras.
Objectives
On successful completion of this module, the attendee will be able to:
- understand digital image representations
- understand and implement a range of image transforms
- understand and implement image processing in the frequency domain
- implement basic feature extraction and matching
- understand the effects of noise on all aspects of digital imaging and implement a range of noise reduction filtering approaches
- understand and appreciate the broader application implications of a given image processing solution for a particular industrial application.
Topics
Programming (in C/C++ with Open CV)
- image loading and display
- applying image transforms
- image manipulation
- writing images and videos
- live image processing from a connected camera
Imaging: applications/representation/hardware/sampling/noise
Image geometry and locality
Operations upon images
Mathematical Background: Camera projection/convolution
Transformation
- arithmetic/logical operations
- thresholding/Fourier Transform
- image convolution/correlation matching/de-convolution
- using image histograms for comparison
- high pass filtering/low pass filtering/band-pass filtering
- colour transforms - RGB and HSV colour spaces
Enhancement
- logarithmic and exponential transforms/gamma correction
- histogram transforms: contrast stretch/equalisation/matching
- homomorphic filtering
- edge enhancement
- noise characteristics and noise reduction filtering
Who should attend?
The course will be of interest to those in the following job roles:
- imaging engineer
- vision processing engineer
- software engineer
- programmer
- vision or image processing scientist
- medical imaging professional
- embedded engineer
- embedded software engineer.
A working knowledge of C/C++ programming is assumed for course attendees.
Previous delegates have come from various industries including:
- industrial inspection/manufacturing
- security/defence/transport imaging
- robotics
- weather and environmental monitoring (remote sensing)
- medical imaging.