4

我正在做一个使用相机(特别是 iPhone 相机)“扫描”纸张的小项目。

工作流程:

让用户为纸张拍照,然后我会检测角/轮廓,因此我知道照片中原始纸张的 4 个角点。然后很容易反转相机的透视变换以获得所拍摄纸张的“平面”图像。

但是,我的问题是:如何保持甚至计算正确的(原始)纵横比?

检测到纸角的 UI 图像(无法发布图像,抱歉)

正如你在上面看到的,我有角点的坐标,我也知道如何构造一个矩阵来将左上角映射到点 (0,0),右上角到 (width,0),底部右角到(宽度,高度),左下角到(0,高度)。

现在的问题是:如何获得纸张最初具有的正确宽度/高度纵横比。我很确定我可以使用角度来确定透视变换,但我一直在寻找正确的公式。我也有一种预感,我也需要相机的焦距,但不需要它会很棒。

任何想法,将不胜感激。

4

1 回答 1

0

本文 http://research.microsoft.com/en-us/um/people/zhang/papers/tr03-39.pdf

描述了这个过程。

我做了一些实验,虽然“合成”图像的结果很好,但对于真实图像(或者当我在合成图像的“检测到”角落添加一些噪声时)结果不稳定 - 纵横比变化很大。

于 2013-09-09T21:31:46.003 回答