Machine Vision Toolbox for Matlab (Release 2)

Nice image montage


The Machine Vision Toolbox (MVT) provides many functions that are useful in machine vision and vision-based control. It is a somewhat eclectic collection reflecting the author's personal interest i n areas of photometry, photogrammetry, colorimetry. It includes over 90 functions spanning operations such as image file reading and writing, acquisition, display, filtering, blob, point and line feature extraction, mathematical morphology, homographies, visual Jacobians, camera calibration and color space conversion. The Toolbox, combined with Matlab and a modern workstation computer, is a useful and convenient environment for investigation of machine vision algorithms. For modest image sizes the processing rate can be sufficiently ``real-time'' to allow for closed-loop control. Focus of attention methods such as dynamic windowing (not provided) can be used to increase the processing rate.

This toolbox is not a clone of the Mathwork's own Image Processing Toolbox although there are many functions in common. This toolbox predates IPT by many years, is open-source, contains many functions that are useful for image feature extraction and control. It was developed under Unix and Linux systems and some functions rely on tools and utilities that exist only in that environment.

How to get it

The toolbox can be downloaded in either zip or .tar.gz format. Simply unpack all the files into a directory 'image' which is in your MATLABPATH. Check out the README and the documentation which is also included in the distribution. The document is in the MathWorks standard style and formatted for double sided printing (it's nearly 100 pages).

I'm in transition between two web sites at the moment. The primary source should be your first point of call. If there are problems try alternate.


Camera modeling and calibration
camcald Camera calibration from non-coplanar 3D point data
camcalp Camera calibration from intrinsic and extrinsic parameters
camcalp_c Camera calibration from intrinsic and extrinsic parameters for central projection imaging model
camcalt Camera calibration Tsai's method
camera Camera imaging model
gcamera Graphical camera imaging model
invcamcal Inverse camera calibration by Ganapathy's method
pulnix Calibration data form Pulnix TN6 camera

Image plane points and motion
examples/fmtest Example of fmatrix()
examples/homtest Example of homography()
epidist Distance of points from epipolar lines
epiline Display epipolar lines
fmatrix Estimate the fundamental matrix
frefine Refine fundamental matrix
homography Estimate homography between 2 sets of points
homtrans Transform points by an homography
invhomog Invert an homography
visjac_p Image Jacobian matrix from points

Image filtering
ismooth Gaussian smoothing
ilaplace Laplace filtering
isobel Sobel edge detector
ipyramid Pyramid decomposition
ishrink Image smoothing and shrinking

Monadic filtering
igamma gamma correction
imono convert color to greyscale
inormhist histogram normalization
istretch linear normalization

Non-linear filtering
iclose greyscale morphological closing
imorph greyscale morphological operations
iopen greyscale morphological opening
irank neighbourhood rank filter
ivar neighbourhood statistics
iwindow generalized neighbourhood operations
pnmfilt Pipe image through Unix utility
zcross zero-crossing detector

Image kernels and structuring elements
kdgauss Derivative of 2D Gaussian kernel
kgauss 2D Gaussian kernel
kdog Difference of Gaussians
klaplace Laplacian kernel
klog Laplacian of 2D Gaussian
kcircle Circular mask

Image segmentation
trainseg Return blob features
colorseg Display histogram
ilabel Label an image
colordistance Distance in rg-colorspace
kmeans k-means clustering

Image feature extraction
iblobs Return blob features
ihist Display histogram
ilabel Label an image
imoments Compute image moments
iharris Harris interest point operator
ihough Hough transform (image)
ihough_xy Hough transform (list of edge points)
houghoverlay overlay Hough line segments
houghpeaks find peaks in Hough accumulator
houghshow show Hough accumulator
max2d find largest element in image
mpq compute moments of polygon
npq compute normalized central moments of polygon
markcorners show corner points
upq compute central moments of polygon

Feature tracking
imatch Image template search
isimilarity Image window similarity
subpixel Subpixel interpolation of peak
zncc Region similarity

Image utilities
idisp Interactive image browser
idisp2 Non-interactive image browser
iroi Extract region of interest
xv Display image using the XV tool

Color space/photometry
blackbody Blackbody radiation
ccdresponse CCD spectral response
ccxyz CIE XYZ chromaticity coordinate
cmfxyz CIE XYZ color matching function
rgb2xyz RGB color space to CIE XYZ
rluminos relative photopic luminosity (human eye response)
solar solar irradiance spectra

Image file input/output
firewire read an image from a firewire camera
loadpgm read a PGM format file
loadppm read a PPM format file
savepnm write a PNM format file
loadinr read INRIA INRIMAGE format file
saveinr write INRIA INRIMAGE format file
webcam read an image from a webcamera
yuvopen open a yuv4mpeg image stream
yuvread read a frame from a yuv4mpeg stream
yuvr2rgb convert a YUV frame to RGB

Test patterns
lena.pgm a famous test image
mkcube return vertices of a cube
mkcube2 return edges of a cube
testpattern create range of testpatterns

Rights to use, citation etc.

If you plan to duplicate the documentation for class use then every copy must include the front page of the original manual provided in PDF format with the release.

The Toolbox has taken a fair amount of my time to create and document. I would appreciate that if you use it you will cite it:

    Author = {P.I. Corke},
    Journal = {IEEE Robotics and Automation Magazine},
    Title = {Machine Vision Toolbox},
    Month = nov,
    Volume = {12},
    Number = {4},
    Year = {2005},
    Pages = {16-25}

"Machine Vision Toolbox", P.I. Corke, IEEE Robotics and Automation Magazine, 12(4), pp 16-25, November 2005.

Webarchive age2001|10|20
SEMrush Rank937
SEMrush SE Traffic2.53M
SEMrush SE Traffic price2.33M
Google links
SEMrush backlinks