The softwares on this page are being made available for research purposes only.  Any commercial use or resale of these softwares requires a license agreement with The University of Western Australia.  For further details, please contact Du Huynh (du@csse.uwa.edu.au).

THE UNIVERSITY OF WESTERN AUSTRALIA MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THESE SOFTWARES.



So I have eventually got the chance to update this page, after a long delay.  What you will find here are some of the softwares (mainly Matlab functions) that I have written in the past few years.  As the functions provided here are specifically on projective geometry, for other Matlab functions on image processing, please have a look at the wonderful collection of Matlab functions that Dr Peter Kovesi provides on his web page.

Over the years, I have organised my Matlab functions into a number of directories and sub-directories.  These directories are:
You may want to download one or two functions and use them independently.  However, you will probably find it necessary to download the entire package to avoid missing some basic Matlab functions.  If you want to find out how to use some of these functions, the best starting point is to try out some example .m files.  These are the .m files that you can directly run under Matlab and they should work with the default parameters and input data.  All example .m files follow the naming convention xxx_example.m (with an optional number after the word example) where xxx is the name of function used in the example file.

I will gradually (when I have the time) add more Matlab functions to this page in the future.

Please report any bugs to myself (email address: du@csse.uwa.edu.au).

Version 1.0 -  released December 2003.  Download the entire package.

Du Huynh (du@csse.uwa.edu.au)
School of Computer Science and Software Engineering
The University of Western Australia
Crawley WA 6009
AUSTRALIA



Brief description of some functions

Under the compvis directory:
Least Median of Squares (LMedS)
When dealing with real images, it is inevitable that we need our estimator to be robust against outliers.  The function lmeds provides a LMedS framework for estimating various types of entities, whether it be estimating the fundamental matrix or homography, fitting a line, or fitting a plane.  The function, lmeds_options, should be used in conjunction with lmeds for initialising various parameters. 

A few examples, including images, are provided under the compvis/examples subdirectory.

Under the general directory: currently contains a few number of general Matlab functions.

Under the graphics directory: currently contains a small number of graphics related functions.

Under the LundUniv directory: this directory contains a significantly cut-down version of the Matlab code that I obtained from Lund University (via Anders Heyden).  I include them on this web page for the sake of completeness, as I have developed my Matlab functions on top of the code from Lund University.  The functions included are:
Under the math directory: this directory currently contains just a few Matlab functions.

Under the rectification directory: this directory contains the image rectification functions that will automatically bring the epipolar lines to align with the horizontal or vertical scanlines.  The main function to call is rectify_images.  The implementation is based on the algorithm described in [1].  The algorithm requires the knowledge of the epipoles, so one of the fundamental matrix estimation functions given in the compvis directory above would be useful.  For an example on how to use rectify_images, see the example file there.



References:
[1] Richard I. Hartley, "Theory and Practice of Projective Rectification"  International Journal of Computer Vision, vol 35, no 2, pages 115-127, 1999.