【发布时间】:2020-08-25 16:35:17
【问题描述】:
对于getPerspectiveTransform 和warpPerspective 如何在 OpenCV 中工作,特别是在 Python 中,我找不到完美的解释。我对这些方法的理解是:
给定来自源图像的 4 个点和 4 个新点 getPerspectiveTransform 返回一个 (3, 3) 矩阵,该矩阵在将图像作为参数发送到 warpPerspective 时会以某种方式裁剪图像。我认为 4 个点(来自 src 图像)在图像上形成一个多边形,然后将其删除/裁剪,然后将这个新裁剪的图像安装在新给定的 4 个点之间,我还看到warpPerspective 的输入大小为新图像。所以我推断这一点,如果新点的最大高度/最大宽度(从点计算......想象这些点是矩形或四边形的角)小于提供的宽度或高度,剩余区域是留下空白,基本上是黑色/白色,但情况并非如此......如果从新点计算的宽度/高度小于提供的宽度和高度,则剩余空间被源图像的某些部分填充本质上是4个源点的外部...
我无法理解这种行为......
那么我是不是对这些方法的解释有误?如果是,请提供对这些方法的正确解释。
PS。我对 OpenCV 还很陌生,如果有人解释 getPerspectiveTransform warpPerspective 使用的基础数学,那就太好了。
提前致谢。
【问题讨论】:
标签: python computer-vision opencv-python opencv4