Heriot-Watt logo
      CEE logo

      Lecturers: Dr. Katia Lebart Dr. Yvan Petillot
      Contact Details: Room 2.04 Room G.03
      email: K.Lebart.hw.ac.uk email: Y.R.Petillot.hw.ac.uk
      Lectures: Monday 10h15 Room 3.07
      Tuesday 11h15 Room 3.07
      Thursday 11h15 Room 3.006
      Labs: Thursday 10h15 Room EM2.52
      Aim of Course: To introduce the techniques of image analysis, modelling, enhancement, transmission and coding


      Structure of Course

      Introduction to Digital Image Processing
      Image Presentation
      Human perception 
      Light and colour
      Signals in 2 and more dimensions
      Discrete signal processing in 2D
      Fourier Analysis
      Convolution and correlation
      Image Formats
      Computer applications and storage of images
      Image Histograms
      Basic image enhancement
      Histogram equalisation
      Histogram modification
      Image Modelling
      Enhancement/Segmentation/Classification


      MATLAB PRACTICALS

      Each week, you will have on hour of practicals on image processing techniques using MATLAB.

      The topics studied will closely follow the structure of the course. The first two weeks will be dedicated to an introduction to MATLAB environment (week 1) and programming (week 2) with examples applicable to image processing. The MATLAB helps and manuals are available online and can also be found in this web page (see link below). You will be expected to work in your spare time to get expertise in MATLAB programming. MATLAB will be part of your assignment. It is a very powerful tool and you will be able to do a lot with it if you put the effort in in the first place. This page will be updated as we progress into the course.

      The Program of work is as follows:

      • Week1: Introduction to Matlab. Matlab environment. Image handling and display with Matlab.

      • Available material for week1
        Notes:

        matlab_w1.doc : week 1 matlab notes

      • Week2: Matlab programming. Script, functions and example of programs. Sample programs for Fourier transforms.

      • Available material for week2:
        You can use the four tif images contained in ~ceeyrp/Teaching/225SD2/Images during your investigation. These images include a photographic image (lena), a sonar image (sonar), a synthetic aperture radar image (sar) and a landsat image (landsat). They can be downloaded from here.

        Images:

        lena.tif sonar.tif



        sar.tif landsat.tif

        Programs:

        fft2d.m : Direct FFT, Display Magnitude and Phase

        ifft2d.m : Inverse FFT

        invert.m : Inverse of the grey levels of an image


        Notes:

        matlab_w2doc : week 2 matlab notes

      • Week3: Fourier analysis, phase and amplitude analysis of the spectrum. Basic texture descriptors. Image formats. JPEG encoding and DCT transform.

      • Available material for week3:

        Programs:

        phase_only.m : Phase Interpretation

        random_phase.m : Phase manipulation

        random_magnitude.m : Magnitude manipulation

        quant_fft.m : Spectrum quantification

        move_image.m : Translation using spectrum phase

        SimpleFiltering.m : Basic Filtering by spectrum modification

        StandardCorrelation.m : Basic Correlation Code

        TemplateMatching.m : Template matching code for tutorial 3

        Images:

        Letters.bmp : Scene for template matching

        E.bmp : First template

        H.bmp :Second template


        Notes:

        matlab_w3.pdf : week 3 matlab notes

      • Week4: Image enhancement. Histogram equalisation and specification. Basic Histogram based segmentation.

      • Available material for week4:

        Programs:

        Otsu.m : Automatic binarisation (thresholding) based on histogram analysis


        Notes:

        matlab_w4.doc : week 4 matlab notes

      • Week5: Filtering. Space domain and frequency domain filtering. Fourier Analysis of filters.

      • Available material for week5:

        Programs:

        SimpleFiltering.m Elementary Fourier Filtering

        gene_filters.m Various filters generation

        Analyse_Filter.m Filter analysis program

        deconvolution.m Simple deconvolution example


        Notes:

        matlab_w5.doc : week 5 matlab notes

         

      • Week6: Image Modelling. Fractals #9;.

      • Available material for week6:


        Notes:

        matlab_w6.doc : week 6 matlab notes

         

      • Week7: Image Modelling. Markov Random field examples.

      • Available material for week7:

        Programs:

        generate_MRF_Binomial Quick and dirty MRF generation program (ICM)

        generate_MRF.m MRF generation program

        generate_MRF_quick.m Quick and dirty MRF generation program (ICM)

        denoise_MRF.m Example of denoising using MRF


        Notes:

        matlab_w7.doc : week 7 matlab notes

         

      • Week8: Classification. Basics examples of linear and Bayesian classifiers.

      • Available material for week8:


      fisheriris data fisheriris data

      Recommended Text


       
      • Digital Image Processing

      • R.C. Gonzalez and R.E Woods 2nd Edition
         

      Assignment

      Ressources

      You can find here a database of images to test your projects.

      Easter Eggs (A web page presenting all the images).

      Easter Eggs zipped (A zip file containing all the images).

      You can find here an example of past years assignment. This is not a perfect example and should not be seen as a model! It was in fact judged as slightly too complicated. The notes were also a bit long. The amount of work was adequate however.

      Lectures Notes prepared: LecturesNotesGroup6.pdf

      Presentation in powerpoint: PresentationGroup6.ppt

       

      On line Ressources


       

      Online Courses
       

      • Digital Image Processing by Gonzalez and Woods supporting Web Site
        http://www.imageprocessingbook.com/index_dip2e.htm

      • Hypermedia Image Processing Reference

      • HIPR - Access from CEE Unix Machimes
        HIPR - Access from CEENT Machines
         
        Note that due to the licence this is not available through PC-Caledonia

      • Digital Image Processing (DIP) with Khoros 2
        http://www.khoral.com/contrib/contrib/dip2001/index.html

      • HIPR2: free www-based set of tutorial materials for the 50 most commonly used image processing operators. It contains tutorial text, sample results and JAVA demonstrations of individual operators and collections.


      • http://www.dai.ed.ac.uk/HIPR2/
         
      • Image Processing fundamentals

      • http://www.ph.tn.tudelft.nl/Courses/FIP/frames/fip.html
         
      •  CVonline: The Evolving, Distributed, Non-Proprietary On-Line Compendium of Computer Vision

      • http://www.dai.ed.ac.uk/CVonline/
         
      • Vision Systems

      • http://www.cs.cf.ac.uk/Dave/Vision_lecture/Vision_lecture_caller.html

       

      Databases and ressources
       

      • Signal Processing Information Base (SPIB)

      • http://spib.rice.edu/spib.html
         
      • efg's Image Processing Page

      • http://www.efg2.com/lab/library/ImageProcessing/Default.htm
         
      • Computer Vision Home Page

      • Various informations on computer vision, FAQs, Test images, Demos... 
        http://www.cs.cmu.edu/afs/cs/project/cil/ftp/html/vision.html

      • Pattern Recognition Information

      • http://www.ph.tn.tudelft.nl/PRInfo.html
         
      • Some Internet Resources for Mathematical Modelling

      • http://www.ifi.uio.no/~matmod/matmod-hotlist.shtml
         
      • Wavelet informations

      • http://www.mathsoft.com/wavelets.html
        http://www.wavelet.org/wavelet/links.html
         
      • The Face Recognition Home Page

      • http://www.cs.rug.nl/~peterkr/FACE/face.html
         

      Image Processing Applications:

      Improvement of pictorial information for human interpretation
      Processing of scene data for autonomous machine perception


      Image Processing Techniques:

      Enhancement
      Process image to give a result that is more suitable than the original for a given application
      Restoration
      Process that attempts to reconstruct or recover an image that has been degraded by using some a priori knowledge of the degradation
      Encoding
      Techniques for representing an image with fewer bits
      Segmentation
      Descriptions of image components rather than whole images
      Understanding
      Symbolically represents contents of an image

      Matlab Help Guides

      Matlab online help and tutorials can be found here.

      The Image processing toolbox online help and tutorials can be found here.

      The Image processing toolbox pdf tutorial can be found here.


      If you have any queries please send email to me at ceeyrp@cee.hw.ac.uk

      NOTE: Clipart from http://www.signgray.demon.co.uk/clipart/

      This page was adapted from Dr Judith Bell Page. I wish to thank her for her help and support in preparing this course.