2

我正在尝试使用 OpenCV 2.0 在图像中获取三个点,它们基本上构成了一个三角形。我试图用这三点做的是用它们作为倾斜的参考。下图最好地解释了我想要实现的目标:

在此处输入图像描述

  Before                                             After

我保证我的图像采用上述格式,所以我知道我需要积极关注的唯一一点是形成 90 度角的点。

简而言之,我只是试图将我的图像相对于形成 90 度角的点的位置倾斜。

有什么办法可以在 OpenCV 中做到这一点?(最好在 C++ 中)

4

1 回答 1

1

好吧,我从来没有使用过这种类型的转换,但我可以以某种方式帮助你。

经过一番谷歌搜索后,我在 StackOverflow 上发现了与您类似的问题:

使用透视变换倾斜图像

雅各布对这个问题有一个很好的答案。似乎从所有这些类型的转换(旋转、剪切、平移和缩放)中,只有剪切可以帮助您(见下图):

剪切图像

接下来是变换矩阵:

在此处输入图像描述

要在 OpenCV 中进行这种类型的转换,有函数cv::warpPerspective - 所以试试吧。

希望能帮助到你。

于 2012-06-28T15:45:48.267 回答