1

我正在尝试按照本教程中的描述使用 POSIT,但在理解一些事情时遇到了一些麻烦。

我有来自平行六面体的 9 个坐标 (x,y,z) 值。此坐标值的单位以 mm 表示。我已经计算了二维投影点(x',y',z'),只需使用

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

将 z 定义为 f/2,将 f(焦距)定义为 1000 mm。

3D 点表示如下:

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

为什么是 0.00 f?我可以简单地将它们表达为,例如:

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

所有单位都可以用毫米表示吗?

为了得到这个问题的答案,我一直在做一些研究,但我仍然无法理解。如果有人可以帮助我,我将不胜感激!

4

1 回答 1

0

为什么是 0.00 f?

-> 点坐标是相对于对象坐标系的。所以,总有一个点(0,0,0)

于 2012-03-12T11:16:47.683 回答