0

Is there any way to compute translation vector in a known unit like 'mm' or 'cm' between two planar objects using corresponding feature points. If yes, please let me know how can I do that.

So far I've tried with Essential Matrix computation (for non planer objects) and didn't get them in a known unit.

Thanking You in advance!

Francesco Callari
  • 11,300
  • 2
  • 25
  • 40
Althaf
  • 143
  • 2
  • 11

2 Answers2

2

Only if you know the physical distance between some of those points (at least two) on the plane, so to fix the scale. Otherwise you are out of luck.

Without a reference distance, there is no way to tell whether you are looking at two buildings hundred of yards away, or two matchboxes nearby: this is how miniature visual effects in movies are done.

Francesco Callari
  • 11,300
  • 2
  • 25
  • 40
  • Thank You @Fransesco Callari for the answer. But I'm still wondering, how the real time visual odometry and mixed reality is achieved. Any idea? – Althaf Nov 15 '17 at 04:25
  • 1
    You do not need absolute scale to render computer graphics objects on top of captured footage, only positioning matters. See the last paragraph in this other answer of mine: https://stackoverflow.com/questions/10977800/how-to-find-camera-matrix-for-augmented-reality/10981086#10981086 – Francesco Callari Nov 15 '17 at 07:04
  • Thank You very much @Francesco Callari, that's what I'm exactly looking at. – Althaf Nov 15 '17 at 07:44
0

This Measuring size of objects in an image with OpenCV here can help you as a reference I feel. Hope it helps others as well.

Santhosh
  • 1,554
  • 1
  • 13
  • 19