我正在尝试使用OpenCV 2.0在图像中取三个点,这三个点基本上构成一个三角形。我试图用这三点做的是用它们作为倾斜的参考。我想要实现的目标最好用下图解释:
Before After
我保证以上面的格式拍摄我的图像,所以我知道我需要积极关注的唯一一点是形成90度角的点。
简而言之,我只是试图将我的图像与形成90度角的点的位置倾斜。
我有什么方法可以在OpenCV中做到这一点? (最好是C ++)
答案 0 :(得分:1)
好吧,我从未尝试过这种类型的转型,但我能以某种方式帮助你。
经过一些谷歌搜索后,我在StackOverflow上找到了类似的问题:
Skewing an image using Perspective Transforms
Jacob 对这个问题有很好的答案。似乎从所有类型的变换(旋转,剪切,平移和缩放),只有剪切可以帮助你(见下图):
转换矩阵是下一个:
要在OpenCV中进行这种类型的转换,有函数cv::warpPerspective - 所以试试吧。
希望它有所帮助。