重建图像中矩形对象的纵横比

Posted

技术标签:

【中文标题】重建图像中矩形对象的纵横比【英文标题】:Reconstructing Aspect Ratio of Rectangular Objects in Images 【发布时间】:2012-01-09 10:31:02 【问题描述】:

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

工作流程:

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

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

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

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

任何想法都将不胜感激。

【问题讨论】:

嗨,您是如何使用 OpenCV 实现这一点的?我在框架中看到了 Square.C 文件,但无法使其正常工作。您能帮我检测文档的角落吗? 【参考方案1】:

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

描述过程。

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

【讨论】:

以上是关于重建图像中矩形对象的纵横比的主要内容,如果未能解决你的问题,请参考以下文章

计算机视觉实验二 图像编码恢复和重建的Matlab实现

NVIDIA | 一种重建照片的 AI 图像技术

在android中创建缩放位图时保持图像质量

在 iOS 中创建可调整大小的图像/矩形 - Objective C

毕设题目:Matlab图像重建

如何在pygame中检测两个矩形对象或图像之间的碰撞