My website links:
This page links:
Code here is provided as is, with no promise of support. I have just found that these things really help you get going in OpenCV. Feel free to contact me here: < t . vaudrey (at) auckland . ac . nz >
Handouts
Title: How to Get OpenCV Working
Gets OpenCV up and running on a home PC, and also for the UoA network.
Specifics for both Computer Science and Mechanical Engineering are given.
Code Samples - Tutoring
Title:
MechEng409 Tutorial 1
Basic loading and showing of images. In this code:
- Getting an image into your program.
- Splitting a multiple channel (colour) image into multiple single channel (grey) images.
- Smoothing filters
- Getting averages (means) of images.
Title:
MechEng409 Tutorial 2
More advanced, searching and loading multiple images. In this code:
- Searching for images.
- Storing meta data about images.
- Some more filters - edges.
Title:
MechEng409 Tutorial 3
Simple, reading all metadata in a folder. In this code:
- Loops through directory finding all XML files.
- Prints the metadata stored in the XML file to screen.
More to come ...
Code Samples - Other
Title:
ImageWrapper for OpenCV Images
Description: This program shows you how to use an ImageWrapper for OpenCV IplImages. This allows for easy
and fast access to the data within images. All supported formats for OpenCV (1 and 3 channel images) are supported.
Title:
OpenCV Optical Flow and Stereo Colour Coding
Description: This is some colour encoding using OpenCV. Currently, two types are given black to bright
(aka BBPW / Brox et al) and white to saturation (aka Middlebury colour code). Hue determines direction.
Requires ImageWrapper (above).
Title:
Image Input-Output Library, with 16-bit PGM(binary) support and PPM reading support
Description: I found it very hard to find a 16-bit PGM reader out there on the internet. So here is
one that I wrote myself. This program allows you to read and write 16-bit PGM images to either an
OpenCV IplImage or any normal array of (unsigned short integers). Also allows you to read/write 8-bit PGMs.
Finally, it allows reading and writing of arbitrary image data to/from file. It works with both
OpenCV IplImages or normal arrays. Currently supports: signed and unsigned char and short, and both
single (32-bit) and double (64-bit) precision floats.
Title:
Fast Trilateral Filter for OpenCV
Description: This is a trilateral filter implementation with numerical truncation.
It is based on the original filter by
P. Choudhury and J. Tumblin. It currently only supports 1-channel 32-bit float images.
This code is free to use for academic purposes.
Title:
Combine Multiple Images Command Line Tool
Description: I couldn't find a good free tool (for windows) to combine multiple images together.
This tool enables you to combine multiple images (e.g., 3 images side by side), with the added
power of being able to combine multiple frames together (i.e., an image sequence).
So now it is easy to create those image sequences showing comparisons over time.
Title:
Residual Image Demo
Description: Here is a simple way to remove illumination differences between images.
This code implements a 3x3 mean filter for computing residual images, using OpenCV.
See my residual image papers below for explanation.