Object position in camera view

Given; (1) We have a stationary camera at an unknown position (Cx,Cy,Cz) and unknown attitude ie.angles (Cxa, Cya, C,za) looking at a scene.
(Imagine camera on top of a high building -we don't know the building coordinate- looking at the town) (2) Camera resolution is NxM (800x600) (3) In the camera view we can identify a set of Objects {Oi: i=1,...K, 2<=K} and read their coordinate in camera plane {Oi(xi,yi); i=1,..K, 0<=xi<=N-1, 0<=yi<=M-1 }. (4) From a GIS system we can acquire the world coordinate of these Objects ei. {Pi(wx,wy,wz); i=1,...K, 2<=K} where Pi(wx,wy,wz) is the 3d world coordinate of Object Oi. (Example; Oi is a set of electic poles and Pi(wx,wy,wz) is its world coordinate} (5) Now we have a set of objects Oi, and we have one-to-one mapping of Oi(xi,yi) to Pi(wx,wy,wz) (we know both the objects' coordinate in 2D camera plane and their real coordinate in town) (6) We also identify another set of objects in the camera view {Uj: j=1,...L, 1<=L} and read their coordinate in camera plane {Uj(xj,yj); j=1,..L, 0<=xj<=N-1, 0<=yj<=M-1 }. (7) We do NOT have GIS info about the second set of objects Uj ie. we do NOT know {Rj(wx,wy,wz); j=1,...L, 1<=L} where Ri(wx,wy,wz) is the 3d world coordinate of Object Uj.
Questions; (A) How can we calculate the position (Cx,Cy,Cz) and attitude ie.angles (Cxa, Cya, C,za) of the camera? (B) How can we calculate the field of view of the camera (vertical and horizontal angles of the camera view)? (C) How can we calculate the world coordinate {Rj(wx,wy,wz); j=1,...L, 1<=L} of the second set of objects,Uj ?
Regards
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
<Huireahg> wrote in message > Given;

(A) You should search on "camera calibration" and photogrammetry. (B) Given (A) you can simply map the bounds of the image plane to world vectors (C) Although you have a mapping O --> P you lack data to fully map P --> O because you lack depth data in the 2D image. The mapping gives you a vector of unknown length. If you can define a ground plane the intersection with the vector gives you a possible 3D location for the object. You could also look at stereography and other 3D imaging techniques.
Graham
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On 24-Feb-2005, <Huireahg> wrote:

Field of view is based on lens geometry. If you know the focal length, then it's easy. One example web site:
http://www.photo.net/learn/fov /
Mike
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Huireahg wrote:
<snip>
Do your own homework! :)
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here. All logos and trade names are the property of their respective owners.