I'm working on an object tracker where I need to report the azimuth and elevation of targets. Both values should be scaled from degrees to unsigned 32-bit integers. For now I can ignore lens distortion, assume Z=0, and make an arbitrary North (the center of the image?).

The images are single frames taken at 60fps. I don't know the size of the object a priori, but I can assume that each pixel occupies a known fixed size because I really don't care about Z at this point.

Once I have the image coordinates how to I transform them to azimuth and elevation?

  • $\begingroup$ Since you don't care about the distance (the third coordinate in this system), let's make it a constant 1. This means the two coordinates of azimuth and elevation define a sphere. Now imagine rays projecting from your eye, through the viewing plane. You want to calculate where they intersect this sphere. I don't have the resources to do the math right now, but this hopefully gives someone else a starting point to go from. $\endgroup$ – Draconis Dec 28 '18 at 4:36
  • $\begingroup$ Yeah I have some idea that I have to figure out an inverse tangent plane projection. When I code it up I'll post an answer. $\endgroup$ – noel Dec 28 '18 at 4:41
  • $\begingroup$ When you post an answer, please add some reference since this sound like a problem that has been solved thousands if not billions of times. $\endgroup$ – Apass.Jack Dec 28 '18 at 6:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.