OpenCV perspectiveTransform正确的目标宽度和高度?

时间:2011-12-19 21:46:55

标签: image-processing opencv geometry

我目前正在使用OpenCV及其透视转换功能。我想找到一种方法来根据我拥有的数据(源图像)准确地确定目标矩形。 我已经找到了这个帖子:https://stackoverflow.com/questions/7199116/perspective-transform-how-to-find-a-target-width-and-height 它指出,无法正确确定源中包含的数据的正确宽高比,但是至少有一个很好的算法可以得到一个好的估计值吗?

1 个答案:

答案 0 :(得分:1)

不,没有办法单独从 图像中做到这一点。想象一下,你正在拍一张A4纸放在桌子上的照片,只有你在水平附近看着它。如果你使用了图像的宽高比,你最终会得到一个非常长的薄矩形。

但是,如果您知道相机相对于目标的姿势(即旋转矩阵)和相机内部参数,那么您可以获得纵横比。

看一下this paper(虽然英语不是最好的,但实际上真的很有趣):等式(20)是关键的一个。另外,请查看有人实施该方法的this blog post

如果您不知道相机的方向,那么最好的选择是放入至少是球场的某种宽高比。如果您有关于矩形的任何其他信息,请使用它(例如,如果我总是拍摄A [0,1,2,...]纸张的照片,这些具有已知的固定宽高比)。

祝你好运!