重建图像中矩形物体的纵横比

时间:2012-01-09 10:31:03

标签: iphone opencv aspect-ratio object-detection

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

工作流:

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

但是,我的问题是:如何维护甚至计算正确的(原始)宽高比?

Image of UI with detected corners of sheet of paper (can't post images, sorry)

如上所示,我有角点的坐标,我也知道如何构造矩阵以将左上角映射到点(0,0),右上角映射到(宽度,0) ,右下角为(宽度,高度),左下角为(0,高度)。

现在的问题是:如何获得纸张原有的正确宽度/高度宽高比。我很确定我可以用角度来确定透视变换,但我找不到合适的公式。我也有预感,我也需要相机的焦距,但是不需要它也很棒。

任何想法都会受到赞赏。

1 个答案:

答案 0 :(得分:0)

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

描述了这个过程。

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