【问题标题】:OpenCV: Skewing an Image based on Triangular SelectionOpenCV:基于三角形选择倾斜图像
【发布时间】:2012-06-28 15:07:54
【问题描述】:

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

  Before                                             After

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

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

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

【问题讨论】:

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


【解决方案1】:

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

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

Skewing an image using Perspective Transforms

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

接下来是变换矩阵:

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

希望对你有帮助。

【讨论】:

  • 您能再深入了解一下 Shearing 吗?我对那到底是什么感到困惑。
  • @AlexWilliams 你读过那个 SO 讨论吗?还有here's wiki link.
  • 我做到了!它有点帮助。我最终找到了另一个更深入地实际转换三角形对象的链接。这是链接:opencv.itseez.com/doc/tutorials/imgproc/imgtrans/warp_affine/… 顺便说一句,我很感谢您的回复!接受它,因为它最终让我找到了我需要的东西。谢谢!
猜你喜欢
  • 2015-03-21
  • 2016-02-03
  • 1970-01-01
  • 2014-03-30
  • 1970-01-01
  • 2018-10-29
  • 2016-05-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多