Ask Your Question

Convert Image Points to Azimuth and Elevation

asked 2018-12-27 17:31:57 -0500

noel gravatar image

updated 2018-12-27 17:32:26 -0500

I'm tracking objects in an image and I want to record each point, but I want to use world coordinates instead of image coordinates specifically azimuth and elevation. The two values need to be represented in degrees and scaled to 32-bit integers.

Two questions:

What is the proper transform to use and what are the parameters? I can fake the camera intrinsics just to get something working, but I'm not sure that I have enough information.

Does OpenCV have this capability built in? This seems like a common problem and I would think OpenCV or Numpy would have methods to solve this problem I'm just unfamiliar with them.

edit retag flag offensive close merge delete


did you mean: like this ?

This seems like a common problem

in astronomy, yes, in computer-vision - no.

isn't it more a maths / geometry problem ?

berak gravatar imageberak ( 2018-12-28 09:31:25 -0500 )edit

if y sensor axis is vertical and x sensor axis is horizontal it's a trivial problem but if it's not back to bibliography

LBerger gravatar imageLBerger ( 2018-12-28 10:08:20 -0500 )edit

1 answer

Sort by ยป oldest newest most voted

answered 2019-01-09 22:13:50 -0500

Tetragramm gravatar image

Take a look HERE

PositionCalculatorImpl::addMeasurementImpl in src/positionCalc.cpp is basically a calculation of Az/El from pixel coordinates.

The parameters you need are:

  1. Pixel location
  2. Camera->World rotation (Rodrigues or Rotation Matrix)
  3. Camera matrix
  4. (Optional) Distortion matrix

In short, the algorithm is:

  1. Turn pixels into camera-relative LOS
  2. Rotate LOS to world coordinates
  3. Convert LOS to Az/El
edit flag offensive delete link more

Question Tools

1 follower


Asked: 2018-12-27 17:31:57 -0500

Seen: 425 times

Last updated: Jan 09 '19