The New Calibration Process

See old steps.


¤   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. call calibrate, my new customizable version of Zhang's algorithm, which performs whatever manipulations I want on the input data (corner coordinates), calibrates the camera and spews out information on the camera's properties and the homographies (coordinate systems) of all the images used for input
INPUT: the same as easycalib: DAT files with corner locations and a model file
OUTPUT: a calibration file with information on the intrinsic properties of the camera and information about the locations and orientations of all the images that produced the input data files
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