Outputs from All Steps

¤   1. 

- Output from call: ./detect -n144 -f ppm/1.ppm -w1 -s3.0 -g 1_w1s3 > 1_w1s3.dat

The flag -w1 tells the detector to look for corners within each square window with side length of 1 pixel; we use w-values from 1 to 5.

Note: > 1_w1s3.dat redirects stdout to the file 1_w1s3.dat.


156
523.8831   97.9219    0.2501      0.73769  -0.67514
517.0945  104.9535    0.2596     -0.71369   0.70046
510.3673  111.9845    0.2105      0.61502  -0.78851
164.4120   78.7586    0.1090     -0.71722  -0.69685
173.9045   87.0454    0.1113      0.62861   0.77772
.
.
.
460.0465  397.8310    0.2235     -0.81583   0.57830
514.9412  396.9065    0.1743      0.73645   0.67649
516.9242  413.9356    0.1914      0.68573  -0.72786
533.1033  413.5640    0.1306     -0.72544  -0.68829
531.0628  396.9081    0.2350     -0.77548   0.63137

							

The number 156 is the number of detected corners whose coordinates are listed. The numbers on all later lines are the coordinates, Plessey values and gradient values of each of those points in the image 1.ppm. We only care about the first two numbers.


¤   2. 

- Output from call: ./analyze -p1.0 0.dat 3,5,7,9,11 1_w[1-5]s3.dat > 1_w0s3.dat


156
524.1690  97.5051  0.0   0.7513  -0.6599
517.3295 104.5714  0.0  -0.7081   0.7062
510.5349 111.5057  0.0   0.5223  -0.8528
163.9372  78.3354  0.0  -0.7122  -0.7020
173.4269  86.4982  0.0   0.5844   0.8115
.
.
.
460.4166 397.5233  0.0  -0.8817   0.4718
514.3802 396.5951  0.0   0.7664   0.6424
516.6568 414.4922  0.0   0.6553  -0.7554
533.5793 413.8807  0.0  -0.7604  -0.6495
531.3975 396.5910  0.0  -0.8238   0.5669

							

The first two numbers are the coordinates of the corners detected in step 1, adjusted by extrapolation to an infinitessimally small window size; these adjusted values should eventually have errors of much less than 1 pixel. The other three numbers can be ignored; they represent more gradient values.


¤   3. 

- Output from call: tail +2 1_w0s3.dat | awk '{ print $1, $2 }' 1_0.dat


524.1690 97.5051
517.3295 104.5714
510.5349 111.5057
163.9372 78.3354
173.4269 86.4982
.
.
.
460.4166 397.5233
514.3802 396.5951
516.6568 414.4922
533.5793 413.8807
531.3975 396.5910

							

This call has the useful little effect of getting rid of the unwanted last three values on each line of the files produced by analyze. It shows that Unix is cool; Windows doesn't come with all these little useful utilities.


or ¤   3. 

- Output from call: ./calibrate model.dat [1-8]_0.dat out_0.dat


1549.556950 -0.461329 1546.034309 368.290525 264.361057

-0.003842 0.000848

									

0.950744 -0.099056 0.293723 
0.016867 -0.929630 -0.368109 
0.309518 0.354932 -0.882169 
0.535416 3.992834 785.174854 

0.981396 0.076438 -0.176120 
0.004624 -0.926474 -0.376329 
-0.191937 0.368514 -0.909592 
17.451339 16.254887 773.032241 

0.903888 0.073617 -0.421386 
-0.067205 -0.948408 -0.309847 
-0.422456 0.308386 -0.852308 
11.750747 -17.435572 823.965804 

-0.013223 0.991345 -0.130613 
0.973110 -0.017283 -0.229692 
-0.229962 -0.130138 -0.964459 
-9.433185 1.035575 695.190364 

-0.179058 0.908070 -0.378613 
0.974496 0.110790 -0.195150 
-0.135263 -0.403900 -0.904748 
-3.029337 -4.523980 736.160985 

0.944602 0.035482 -0.326294 
-0.027615 -0.982023 -0.186732 
-0.327053 0.185398 -0.926641 
-31.449892 -1.855514 731.613590 

0.972613 -0.214836 0.088709 
-0.178268 -0.934403 -0.308401 
0.149145 0.284141 -0.947111 
48.267647 -3.881760 728.537480 

-0.026409 -0.996971 0.073147 
-0.951815 0.002714 -0.306662 
0.305535 -0.077721 -0.949004 
2.723518 6.234421 721.676422

									 

(This code has not been tested yet, much yet run.)

This output has the same format as the sample output below from easycalib: the first seven numbers are the camera's internal characteristics, and they are followed by the rotation matrices and translation vectors for all given images.


¤   4. 

- Output from call: wine -- EasyCalib.exe -model model.dat -distortion [1-8]_0.dat > zhang_out_0.dat


Summary of the calibration result:
1571.89 -1.48733 1566 370.456 249.274 
-0.0654471 1.70884

							

0.950788 -0.0991185 0.29356 
0.0184136 -0.927701 -0.37287 
0.309294 0.359926 -0.880222 
-0.549706 6.68778 789.915
.
.
.
-0.0264097 -0.996657 0.0773087 
-0.950383 0.00105352 -0.311082 
0.30996 -0.0816884 -0.947234 
1.75852 8.7307 726.193 

							

WINE is the WINdows Emulator for Unix. EasyCalib.exe takes in the modified output from step 2 and a model file, which gives it the known coordinates of the corners on the calibration aid; from these it gives us some of the camera's internal parameters (in purple) and coordinate-system-defining matrices for all calibration images (in green).


¤   5. 

- Output from call: zerror3D -n156 calib_0.dat [1-8]_0.dat > finalcalib_0.dat


156 points 
Stat	             AVG        STD        MIN        MAX
3D error          28.993987  16.898690   5.664190  90.385102
2D error                inf   0.000000        inf        inf

							

These numbers represent the average error, standard deviation, and minimum and maximum two- and three-dimensional errors in the coordinates of points calculated on all eight image planes given the internal camera parameters calculated by Zhang's program. The numbers I am getting here are incorrect as of 12 / 9 / 02.