I have an image , some data on this image, some data on the camera that took that image and a piece of code. And i'm trying to find the location (Px,Py) in the image from (lat,lon).
my problem is that i don't know what is R0 , A1 , A2 from the camera data. how many values they have?
How do i calculate the radial dist. of A1 and A2?
And how do i calculate the distortion of R0?
(i got the camera data the way i posted it below.. messy)
I did mange to get x , y from collinearity equations using image rotation matrix, focallength... (after converting the data to ecef) (lat,lon,alt) = (48.13564, 11.58147, 507) // altitude from DEM
after calculation: x = 0.0061 , y = 0.0523
Now i got this code that suppose to find the location (Px,Py) in the image using that (x, y) that i found:
// x and y from collinearity equations using image rotation matrix, focallength …
//orientation x in –row direction
//orientation y in –col direction
r = sqrt(x*x+y*y) ;
dr = interior->radialdist_A1*(r*r-interior->distortion_R0*interior->distortion_R0)
+ interior->radialdist_A2*(r*r*r*r-interior->distortion_R0*interior->distortion_R0*interior->distortion_R0*interior->distortion_R0) ;
dx = dr*x + interior->xPrincipalPoint;
dy = dr*y + interior->yPrincipalPoint;
*x_out = (x + dx ) ;
*y_out = (y + dy ) ;
Row = -x/pixelsize + centerrow
Col = -y/pixelsize + centercol
**
- image data:
**
opk 3.99086 -2.62820 -68.23817
rpy -1.28306 4.37035 110.28155
XYZ 692053.711 5334599.154 1612.905 (in utm zone 32)
LONLAT 11.58147 48.13564
Ground To Image Rotation Matrix
0.37035919 -0.92766421 -0.04767790
0.92775612 0.36688624 0.06828668
-0.04585474 -0.06952406 0.99652584
**
- Camera data:
**
Col row pixelsize image center R0 principal point xp, yp A1 A2 focallength
3744 5616 6.410000e-06 1872.000 2808.000 0.01400 6.793401e-07 2.887295e-05 -2.276840e+01 1.239733e+04 1.489102e+05 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 5.168871e-02