反转 3d 旋转 2d 矩形的旋转

Reversing 3d rotation rotation of a 2d rectangle

提问人:357865 提问时间:6/21/2023 更新时间:6/21/2023 访问量:40

问:

我正在做一个项目,我需要在照片中“方形”一张纸,所以它在 3D 空间中似乎没有旋转。我已经编写了一个算法来查找图像中纸片的角和边的角度。但是,我不知道如何找到需要将图像旋转为“正方形”的量。

我已经研究过反转用于在 3D 空间中旋转 2d 对象的公式,但我能找到的所有结果都需要点的 z 坐标,而我没有,因为我使用的是 2d 照片。

有谁知道如何仅使用角和角度找到 3d 矩形的 2d 旋转?任何帮助将不胜感激。

(如果可能,请使用 Python 中的任何代码)

Python 数学 处理 3D 图像旋转

评论

2赞 Julien 6/21/2023
这只是找到将 4 个扭曲的角映射到您想要的目标矩形的 2D 投影变换,然后将其应用于您的图像。许多库已经实现了这一点。
0赞 Cris Luengo 6/21/2023
事实上,将四个角映射到它们的新位置,图像的其他点会根据这四个点之间的线性插值进行映射。由于您没有 z 位置,因此无法计算旋转,但如果可以的话,这将是不必要的且过于复杂。
0赞 Christoph Rackwitz 6/21/2023
这回答了你的问题吗?基于平面单调的反向或可逆ndimage.map_coordinates映射
0赞 Christoph Rackwitz 6/21/2023
“投射变换”也可以称为“单调”。由于原始畸变是透视,因此较小的变换(二维线性插值)将引入其自身的失真。--角位置隐含角度。你不能把角度算作信息。该信息已经在角落位置。

答: 暂无答案