UQC146S1

Introduction to Image Processing in C



Quick Jump: LecturesImages, C Reference, Assignment, Additional functions


As the course progresses you'll find various useful material here.  Whilst we are using Solaris,
all of the tools you may need are available on linux. A very nice "Turbo C" like IDE is available
as a tar ball here.  This has an integrated debugger/compiler/editor etc and compiles/runs on
linux or solaris with the GNU tools.

Most of the notes on this site are in Adobe PDF format.

All Notes are only accessible on the UWE campus
 

Where are we?

Roughly half way through term one.  By now, you should have got to grips mostly with C and be
getting ready to start on the assignment.  Most of the random number problems should have
been done by now, certainly more than the first 6.

The assignment is now available below, and you could start looking through the fourth worksheet
which will get you started on the assignment.
 

The Module Team

Ian Johnson (me) leads this module with tutorial support from John Counsell and Graham Dark


If you want to review your progress try the interactive tests from  the Brian Brown course.


Worksheets

Worksheet 1
Worksheet 2
Worksheet 3

After these you should be coding the techniques introduced in the lectures,  for
the assignment, or those offered as alternatives.

Worksheet 4


Lecture Notes

Just C

The first set of 15 slides, introducing the module & the C Programming language (pdf).
The second set of slides, more on  C  (pdf).
The third set of C slides (the last)  (pdf).

Ten commandments for C Programmers

Image Processing

The first set of image processing slides (pdf).
The next thirty image processing slides (pdf).
                            This file has some corruption.  A word version (warning! large file) is available
The next twelve slides (pdf)
File formats revisited (pdf)
The next eighteen slides
The last set of slides

Mark Nelson's 1989  Dr. Dobbs Journal paper on LZW compression can be found here.
A java implementation of Huffman coding is available here.
A tutorial on static huffman encoding can be found here.


Images

There is an archive of  images for you to experiment with.

The bullfiighter image
The space shuttle image



 

Assignment Details


The  (Solaris SPARC) object file for the read function is here.

The prototype for this function is:

unsigned char *GIVENreadf(char *filename, int *height, int *width, int *type);

which you will need to include at the start of your program.

Portfolio of Work specification

The assignment specification, (due 10th April 2003)
sign-off sheet and cover sheet are below.

The assignment specification due TBA
A sign-off sheet is also available.
The formal cover sheet for the assignment will be here.
 

Additional Functions from  Lectures

The following are acceptable additions and/or alternatives to those functions specified in the
assignment specification, together with their value.


Reference Material

Make Reference Material

A tutorial on using make
 

C Reference Material

Local resources (only available at UWE)

An article outlining common C errors

There are a lot of good C resources available on the BURKS CD ( £6 from the helpdesk).
Some are duplicated here.

A good tutorial on pointers is available here. Pointers are an area of C that confuses most people at some time.  Also available is a description of the standard ANSI C libraries.  (Both of these are from the BURKS CD).

If you are starting to think about your programming style, excellent! Here is a C programming style guide (pdf). This is for interest. Whilst you may find it useful, you are not expected to read it.

A text file tutorial on C

For those interested in advanced algorithms, "Numerical Recipes in C", is available as pdf's

A local copy of

An Introduction to C Programming, v2.7 © Copyright Brian Brown, 1984-2001. All rights reserved.

Remote resources (available outside UWE)

A local list of C resources & tutorials on the Internet (duplicating http://www.lysator.liu.se/c/c-www.html)

How stuff works - C Programming

Steve Holmes @ University of Strathclyde's C Programming online course

A Unix heavy course from Steve Marshall

1001 Tutorials list of C Tutorials

Rob Miles @ Hull - Introduction to C

Books

The Library is often a good place to look for books :) Otherwise, Blackwells should have copies of recommended texts.
The links from this page point to amazon UK.
You do NOT need to buy books to support this module (CRTS).  If you want to, Rob's recommended text:
Tony Royce, "C Programming", Macmillan, 1996
would be a good buy (£15.99 at Amazon), but  (if you are CRTS) you should already have bought that!

If you are not studying CRTS then Royce is strongly recommended. You are likely to need a C text.

Other useful C Books.
 

Kernighan B.W., & Ritchie. D, "The C Programming language",  2nd edition, Prentice Hall, 1988

Sedgewick, R, "Algorithms in C", 2nd editon, Addison Wesley 2001.

Again, I would not recommend purchasing these as much of their content won't be of use, but the books I'm using
to structure this module are:
Randy Crane, "A simplified approach to Image Processing",  Prentice Hall, 1996.

Adrian Low, "Introductory Computer Vision and Image Processing", McGraw Hill, 1991. (Out of Print)

Anil K Jain, "Fundamentals of Digital Image Processing", Prentice Hall, 1989.
 

 


Ian Johnson
November 2002