【问题标题】:projective geometry: how do I turn a projection of a rectangle in 3D into a 2D view投影几何:如何将 3D 中的矩形投影转换为 2D 视图
【发布时间】:2012-10-30 18:12:05
【问题描述】:
所以问题是我有一个矩形的 3D 投影,我想把它变成 2D。那就是我有一张放在桌子上的纸的照片,我想将其转换为该纸的 2D 视图。所以我需要的是通过还原所有 3D/投影变换并从顶部获得一张平面视图来获得一个不失真的 2D 图像。我碰巧找到了关于这个主题的一些方向,但他们没有建议立即说明如何实现这一点。获得有关需要做什么的分步说明会非常有帮助。或者,也可以提供一个资源链接,将其分解为小细节。
【问题讨论】:
标签:
3d
geometry
2d
projection
projective-geometry
【解决方案1】:
如果您对顶点进行正确的 3D --> 2D 变换,它应该可以正常工作。
出发点是研究达芬奇的3D点模型--> 2D点射影几何。
【解决方案3】:
您需要更多信息才能做到这一点。
例如纸张的大小。
假设你拥有它。
您需要了解的内容称为“单应性”。
这基本上是以下情况:
你有相同的平面(你的纸),你从两个不同的相机拍照(假设一个是你拥有的实际图像,另一个是你想要获得的图像 - 那个相机正好在纸上方)。
存在从一个图像的 2D 空间到另一个图像的 2D 空间的转换(单应性),您的目标是找到它。找到它后,只需将其应用于图像即可获得顶视图。
为了找到您需要(至少)4 个点的单应矩阵,您在两张图像中都知道其坐标。
这些点的一个明显选择当然是纸张的顶点。
在您拥有的图像中,您可以手动找到它们。
在目标图像中,您可以选择那些使工作表居中 (0,0),知道它的尺寸。
网上有很多关于单应矩阵的信息4点。
This 只是我遇到的第一个,所以肯定有更好的来源:)
请注意,这些计算通常是在 2D 投影空间中完成的,因为这是一种投影变换。