我正在尝试使用 OpenCV 2.0 在图像中获取三个点,这三个点基本上构成一个三角形。我试图用这三点做的是将它们作为倾斜的引用。下图最好地解释了我要实现的目标:
Before After
我保证我的图像是上面的格式,所以我知道我唯一需要积极注意的点是形成 90 度角的点。
简而言之,我只是想根据形成 90 度角的点的位置来倾斜我的图像。
有什么方法可以在 OpenCV 中做到这一点? (最好使用 C++)
最佳答案
好吧,我从来没有做过这种类型的转换,但我可以以某种方式帮助你。
经过一番谷歌搜索后,我在 StackOverflow 上发现了与您类似的问题:
Skewing an image using Perspective Transforms
Jacob 对这个问题有很好的回答。似乎在所有类型的转换(旋转、剪切、平移和缩放)中,只有剪切可以帮助您(见下图):
接下来是变换矩阵:
要在 OpenCV 中进行此类转换,有函数 cv::warpPerspective - 所以就试试吧。
希望对您有所帮助。
关于c++ - OpenCV:基于三角选择倾斜图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11247563/