繁体   English   中英

快速平面旋转算法?

[英]Fast plane rotation algorithm?

我正在开发一个应用程序来检测图像中最突出的矩形,然后寻求旋转它,使矩形的左下角位于原点,类似于IUPR的OSCAR系统的工作方式。 但是,一旦检测到最突出的矩形,我不确定如何考虑深度分量或z轴,因为矩形不会总是“正面”。 我将非常感谢任何进一步理解的例子。 下面是IUPR的OSCAR系统的一个例子。

alt text http://quito.informatik.uni-kl.de/oscar/oscar.php?serverimage=img_0324.jpg&montage=use

在这种情况下,您实际上不需要处理3D信息,它只是一个映射函数,从一组坐标到另一组坐标。

看看仿射变换,它们能够纠正简单的偏斜和透视效果。 您应该能够在某处找到可以从矩形角上的4个点计算变换的代码。

几乎忘了 - 如果“快速”非常重要,你可以简化系统只使用简单的剪切变换组合,尽管这会对高度倾斜的主体的图像质量产生不良影响。

实际上,我认为你可以通过比Mark的方法简单得多东西逃脱。

  1. 在倾斜图像上获得2D坐标后,将这些坐标重新用作纹理坐标。

  2. 在渲染器中,绘制一个简单的矩形,其中每个角的顶点都纹理映射到在倾斜的2D图像上找到的顶点(标准化并以其他方式转换为渲染系统的纹理坐标平面)。

现在您可以依靠硬件(使用OpenGL或类似工具)为您进行校正,或者您可以编写自己的纹理映射器:

由于我们正在处理实际的3D信息,因此需要猜测宽高比。 但是,您只需获取倾斜矩形的最大宽度和最大高度即可。

Chris Hecker透视纹理映射

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM