我可以在 POSIT + 中使用 mm 吗?开放式CV?

发布于 2024-12-28 14:24:31 字数 652 浏览 0 评论 0原文

我正在尝试按照此 教程 中所述使用 POSIT,但在理解一些事情时遇到了一些困难。

我有一个平行六面体的 9 个坐标 (x,y,z) 值。该坐标值的单位以毫米表示。 计算了 2D 投影点 (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)

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

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

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!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一指流沙 2025-01-04 14:24:31

为什么是 0.00f?

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

why 0.00 f?

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文