基于OpenC的透视检测

2024-06-16 13:16:51 发布

您现在位置:Python中文网/ 问答频道 /正文

如果我想检测透视畸变的物体(如矩形)并计算校正变换,什么是一个好的方法?在

例如,我有很多照片的纸张躺在一个平面上(照片是从一个角度拍摄的),我想校正透视图并裁剪它们。在

我正在考虑使用opencvpython绑定来激发一些东西。我认为这是一个“标准问题”,有很多例子,但我没有找到任何相关的信息。线索?在

编辑:我应该补充一点,我知道这可以通过使用一些Web服务来实现,但是我认为这是一个在学习OpenCv时做一些有用的事情的机会:)


Tags: 方法信息标准照片平面例子物体角度
1条回答
网友
1楼 · 发布于 2024-06-16 13:16:51

你必须确切地说明你检测失真的意思。我假设你想检测这样一张纸(或者你的桌子/平面)的角,并使它与你的显示器平行。这可以使用cvFindHomographycvWarpPerspective来完成。不久前,我为python编写了一些示例代码,注意这些仍然是旧的绑定(不过,更新到opencv2.0应该不会花很长时间):http://ioctl.eu/blog/2009/05/13/opencv_homography

另一件很明显你要做的事就是探测角落。在我的示例代码中,用户需要使用鼠标单击四个角。在你的情况下,这很难说,因为我需要一个例子。OpenCV提供了几种方法来检测角点(参见Harris),在示例中应该有关于如何查找矩形的代码。如果你能说得更具体一点,我可能会更协助你。在

更新 这对你来说可能也很有趣:我刚听过一个关于在图像中操纵透视失真的演讲(例如,增加缩短)。它们需要大量的用户交互,但是使用一些约束优化一些网格来保持平滑的扭曲。 下面是acm链接:http://portal.acm.org/citation.cfm?id=1778765.1778864 也许你可以从那篇论文和提到的参考文献中得出一些想法,但是我自己还没有读过。在

相关问题 更多 >