Running PTOptimizer
Selecting the Variables
In practise I would gradually increase the number of variables being
optimised, but in this case sufficient care has been taken to ensure that
the starting values for yaw, pitch and roll of each image should be
reasonably accurate. The main unknowns are v,a,b,c (lens parameters)
and d,e (image offset parameters since I am scanning my images from film).
Given the relatively large number of control points it should be possible to
optimise all practical variables at once.
For the sake of comparison let's break the script up into three separate
scripts and optimise each in turn. (NB these scripts have been prepared
using my high resolution images)
- Normal control points only
- Vertical lines only
- Normal control points and vertical lines
For each script we will optimise all practical variables.
- v,a,b,c, all yaw, roll and pitch angles except for image0, and all
offset variables
- v,a,b,c, all yaw angles except for image0, all roll and pitch angles
and all offset variables
- v,a,b,c, all yaw angles except for image0, all roll and pitch angles
and all offset variables
Now in theory you would expect the results for v,a,b,c to be the same...
but in practise you get this (after a long time in some cases)
| |
v |
a |
b |
c |
| All Points |
117.218 |
-0.015156 |
0.002617 |
-0.003044 |
| Normal points only |
117.244 |
-0.018605 |
0.011618 |
-0.010409 |
| Vertical lines only |
117.564 |
-0.032569 |
0.046299 |
-0.045017 |
| Average |
117.342 |
-0.022110 |
0.020178 |
-0.01949 |
The good thing is that the values are reasonably consistent. Yes, a,b,c
vary by a factor of 10-20 at times but they are all reasonably small.
More importantly they all follow the same pattern of negative, positive,
negative. With such variation, it is pointless quoting calibrated
values down to 5 decimal points.
My Optimised values then... v117.3, a-0.02, b0.02, c-0.02
(nice and easy to remember.
To calculate v for a portrait image I make a panorama from a single image
calibrated values in this script ...
p w3600 f2 v360 n"JPEG"
o f3 r0 p0 y0 v117.3 a-0.02 b0.02 c-0.02
...and then measure the height of the image in pixels (measured through
the centre of the image), which will give me the FOV in 1/10°. In this case
I get 78.8°. |
|