Converting between Image Coordinate Systems Refer to "Pixel

Converting between Image Coordinate Systems
Refer to "Pixel coordinates systems.doc" in the LIDAR documentation directory. This
explains the different image coordinate systems used by various programs.
The drawing below is a representation of an image in the XY coordinates of the camera CCD
sensor and the Image (pixel) coordinates of ESRI 9.x. The image has a 4:3 aspect ratio. The
CCD sensor is 24 mm X 18 mm. The image (photograph) is 2048 X 1536 pixels. Eight
pixels are represented, four in each corner and the four in the center. Coordinates for some of
the pixel centers and corners are shown.
The conversion from ESRI image coordinates to the XY coordinates of the CCD sensor is
complicated by the 0.5 pixel offset that ESRI uses. The conventions for the XY coordinates
in the different image systems below are used in the equations to convert from one coordinate
system to another.
XI : X in the ESRI 9.x coordinate system
YI : Y in the ESRI 9.x coordinate system
XS : X in the CCD sensor coordinate system
YS : Y in the CCD sensor coordinate system
Uobj : X in Wavefront (.obj) coordinate system
Vobj : Y in Wavefront (.obj) coordinate system
WPIXELS
HPIXELS
WMM
HMM
: image width in pixels
: image height in pixels
: image width in millimeters
: image height in millimeters
Given XI,YI convert them to sensor and Wavefront (.obj) coordinates.
W
24
= −12.0
X S = ( X I − (WPIXELS / 2 − 0.5)) * MM = (− 0.5 − (2048 / 2 − 0.5))
2048
WPIXELS
YS = (YI + (H PIXELS / 2 − 0.5)) *
H MM
18
= (0.5 + (1536 / 2 − 0.5))
= + 9 .0
1536
H PIXELS
U obj = ( X I + 0.5) / WPIXELS = (− 0.5 + 0.5) / 2048 = 0.0
Vobj = 1.0 − (YI − 0.5) / H PIXELS = (+ 0.5 − 0.5) / 1536 = 1.0
Given XS,YS convert them to ESRI 9.x and Wavefront(.obj) coordinates.
W
W
2048 2048
X I = X S PIXELS + PIXELS − 0.5 = −12.0 *
+
− 0 .5 = − 0 .5
WMM
2
24.0
2
YI = YS
U obj =
Vobj =
H PIXELS H PIXELS
1536 1536
−
+ 0 .5 = + 9 .0 *
−
+ 0 .5 = + 0 .5
H MM
2
18
2
X S + WMM / 2 − 12.0 + 24 / 2
=
= 0 .0
WMM
24
YS + H MM / 2 9 + 18 / 2
=
= + 1 .0
H MM
18
Given Xobj,Yobj convert them to sensor and to ESRI 9.x coordinates.
W
24
= −12.0
X S = U obj * WMM − MM = 0.0 * 24 −
2
2
H
18
YS = Vobj * H MM − MM = 1.0 * 18 − = +9.0
2
2
X I = U obj * WPIXELS − 0.5 = 0.0 * 2048 − 0.5 = −0.5
YI = (Vobj − 1)* H Pixels + 0.5 = (1 − 1) * 1536 + 0.5 = +0.5