OpenCV:基于三角选择倾斜图像

时间:2012-06-28 15:07:55

标签: c++ image opencv coordinate-transformation skew

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

enter image description here

  Before                                             After

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

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

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

1 个答案:

答案 0 :(得分:1)

好吧,我从未尝试过这种类型的转型,但我能以某种方式帮助你。

经过一些谷歌搜索后,我在StackOverflow上找到了类似的问题:

Skewing an image using Perspective Transforms

Jacob 对这个问题有很好的答案。似乎从所有类型的变换(旋转,剪切,平移和缩放),只有剪切可以帮助你(见下图):

shearing image

转换矩阵是下一个:

enter image description here

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

希望它有所帮助。