ImageCentre (u,v) = (384, 288)
The transformation is from a world coordinate system (in which the x-y plane is the ground plane) to a camera coordinate system (in which the x-y plane is the image plane and the z axis is the optical axis).
To convert to raster coordinates you need to scale by the focal length and add the ImageCentre.
Note that real world measurements are in millimetres and image measurements are in pixels.
So let x be a point in the coordinate frame of the ground plane. Then that point in the coordinate frame of the camera is xT . The image of the point in raster coordinates is then given by
(f( xT ) x /( xT ) z + u, f( xT ) y /( xT ) z + v)
For example consider the point at the origin of the ground plane coordinates x = (0,0,0,1).
Then xT = (-3479.05, -849.375, 33783.7) and image of the point in raster coordinates is given by
(1360 x -3479.05 / 33783.7 + 384, 1360 x -849.375 / 33783.7 + 288)
Similarly a point 1 metre above the ground plane origin x = (0, 0, 1000, 1) would be
(-3479.05 + 0.84, -849.375 - 952.9, 33783.7 - 303.27) = (-3478.21, -1802.275, 33480.43).
The image of the point is then given by
(1360 x - 3478.21/ 33480.43 + 384, 1360 x -1802.275 / 33480.43 + 288)
The images used for calibration are available here.
Important note: The transformation matrix shown in the calibrations below are the inverse of what is required. Invert the transform and then follow the interpretation above.
Camera 1
Camera 2
Camera 1
Camera 2
Camera 2