سؤال

I am trying to use POSIT as described in this tutorial and having some trouble to understand a couple of things.

I have 9 coordinates (x,y,z) values from a parallelepiped. The units for this coordinates values are expressed in mm. I have calculated the 2D projection points (x',y',z') simply by using

x' = (x/z)*f && y' = (y/z)*f

defining z as being f/2 and f (focal length) as being 1000 mm.

The 3D points are expressed like this:

modelPoints.push_back(cvPoint3D32f(0.00f, 0.00f, 0.00f));

why 0.00 f? Can I simply express them as, e.g:

modelPoints.push_back(cvPoint3D32f(-58.85, 1.00, 14.00));
% this would be point (-58.85, 1.00, 14.00) (in mm)

Can all the units be expressed in mm?

I have been doing some research in order to get answers for this questions but I still cannot understand it. I would be most grateful if anyone could help me with this!

هل كانت مفيدة؟

المحلول

why 0.00 f?

-> the point coordinates are relative to object coordinate system. So, there is always a point with (0,0,0)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top