Point-match view
From SnapMap
A point-match view is a view tag that matches up corresponding points between the world and the image. At least 5 corresponding points are needed for a photograph where all points lie on a horizontal plane.
The process of deriving location, orientation and the camera’s focal length is known as camera calibration. The identification of points to match is often performed automatically, for example in robot vision (and presumably Microsoft Photosynth), but camera calibration is quite possible with manual input. However, it is not yet working properly in SnapMap.
Example:
<view type="point-match" points="7" width="1024" height="733"> <point world="52.520821,13.295703,0" image="459,187" /> <point world="52.519111,13.295334,0" image="115,290" /> <point world="52.520486,13.291746,0" image="170,101" /> <point world="52.523528,13.295288,0" image="754,52" /> <point world="52.519839,13.299163,0" image="632,442" /> <point world="52.521267,13.299397,0" image="919,305" /> <point world="52.520310,13.293120,0" image="210,142" /> </view>
Notice that each world attribute above has 3 parameters: latitude, longitude and altitude (in metres), so the example’s points are all on flat ground.
It seems we need 7 matching points before even a set of points on a horizontal ground plane produces results.
Libraries for camera calibration tried without 100% success:
- Tsai method by R.Y. Tsai, repackaged and amended by Reg Willson as ccal — with this we get results that seem to point in the right heading, but other rotations are off, and the location, while in the right octant in relation to the average of the world points, are inaccurate.
- viewcorr from Graphics Gems
