List of S t e p s in the Calibration Process

¤   1. Run detect, Mark's corner detector
INPUT: an image of the calibration aid
OUTPUT: a DAT file detailing corners detected in the image and their strengths
See sample output

¤   2. Run analyze, Mark's data extrapolator, which takes detect's output and figures out equivalent data for infinitesimal window sizes, attempting to place corners with sub-pixel accuracy (this is a large task, seeing as how images don't have sub-pixel accuracy!)
INPUT: eight data files, output from detect, giving information for all eight images of the calibration aid

a flag telling whether we want information for the xy-plane or the z-axis

OUTPUT: a DAT file detailing all corners from the images in either the xy-plane or the z-axis
See sample output

¤   3. Run the Linux scripts

tail +2 IMAGENUM_w0s3.dat | awk '{ print $1, $2 }' > IMAGENUM_0.dat

and

tail +2 IMAGENUM_wZs3.dat | awk '{ print $1, $2 }' > IMAGENUM_Z.dat

to write just the first two numbers from each data line of analyze's output files to the data files that will be sent to Zhang's easycalib program
•   see the man entry for tail

•   see the man entry for awk

INPUT: a data file with five numbers per line
OUTPUT: a data file with just the essential information--the x- and y-coordinates in the image for each corner detected--written per line
See sample output

¤   4. call Zhengyou Zhang's camera calibration program for Windows, easycalib.exe, to convert these files to data for the combined set of eight images, giving camera parameter information
INPUT: one data file, in the format produced by Step 3, for each of a minimum of eight (and in this case exactly eight) images taken by the camera to be calibrated
OUTPUT: one data file with information gathered from all the input files (in this case, representing either the xy-plane or the z-axis
See sample output

¤   5. call zerror3d, Mark's final statistic generator, to display output on the 2-D and 3-D statistics of the error in the current routine (of course, only the error not generated by Zhang's calibrator matters to us)
INPUT: eight input files for eight images, containing only detected corner coordinates, and the one output file produced by Zhang's program, containing either 2-D or 3-D calibration information
OUTPUT: statistics on 2-D and 3-D average errors, given known point coordinates, of corner coordinates generated from a camera with the internal parameters given by Zhang's program's output
See sample output