warpPerspective
适用于图像。换句话说,warpPerspective 可以扭曲图像 A 并使用 H(Homography 或 warpMatrix)将结果放入 B 中,因此它具有以下结构:
void warpPerspective(InputArray src, OutputArray dst, InputArray M, Size dsize, int flags=INTER_LINEAR, int borderMode=BORDER_CONSTANT, const Scalar& borderValue=Scalar())
src
is the Mat
你想要扭曲,dst
结果将存储在哪里。
perspectiveTransform
适用于点集。它将 H(单应性或扭曲矩阵)应用于点集(位于vector
例如)并将结果放入另一个vector
。结果是第一点vector
应用扭曲后。它具有以下结构:
void perspectiveTransform(InputArray src, OutputArray dst, InputArray m)
where src
是输入点,dst
是扭曲输入点的结果。
结论:
从数学上来说,它们都做同样的事情,即使用 H 扭曲一组点。
从技术上来说, warpPerspective
在坐标上执行此操作Mat
并将像素值(颜色)移动到新像素。perspectiveTransform
,它只是计算该点的新坐标并将其存储在新的vector
.