Image Coordinate Standard

From Wiki for iCub and Friends
Jump to: navigation, search

To provide a uniform treatment of image coordinates between modules, independently of image size / resolution (different modules may use different image resolutions), it is convenient to adopt the following standard:

  • Let the image have size (w, h), where w is the image width and h is the image height.
  • Let the image coordinates be (u,v), in pixel units, where u is the horizontal coordinate, starting at the top-left corner and growing to the right, and v is the vertical image coordinate, starting at the top-left corner and growing to the bottom.
  • The normalized image coordinates are defined as:

x = 2*u/w - 1

y = 2*v/h - 1

Thus, the normalized image coordinates (both x and y) are in the range [-1,1], being 0 the center of the image, -1 the left/top boundaries, and 1 the right/bottom boundaries.

The x coordinate starts at the image center and grows to the right. The y coordinate starts at the image center and grows to the bottom.

To go back to image pixels, the following expressions should be used:

u = w*(x+1)/2

v = h*(y+1)/2