当前位置:  开发笔记 > 编程语言 > 正文

warpPerspective和perspectiveTransform之间有所不同

如何解决《warpPerspective和perspectiveTransform之间有所不同》经验,为你挑选了1个好方法。

我使用了四组点来获得一个PerspectiveTransform矩阵t.然后使用warpPerspective将Mat A转换为Mat B.从Mat A中指出一个点.我想让新的Point在Mat B.中获得一个位置但是warpPerspective()不能在透视透射变换时可以做到这一点.在这里,我想通过使用warpPerspective来了解perspectiveTransform中的位置是否与Mat B中的位置相同.那么,warpPerspective和perspectiveTransform之间的区别是什么?

Mat trans = getPerspectiveTransform(dst, gpsPoints);
warpPerspective(A, B, trans, image.size());
Point2f a = Point2f(..., ...);         //were known
vector obj(1);
obj[0] = a;
vector b; 
perspectiveTransform(obj, b, trans);//if the new point in B is c, is c equals to b?

Humam Helfaw.. 6

warpPerspective适用于图像.换句话说,warpPerspective可以使用H(Homography或warpMatrix)扭曲图像A并将结果放入B中,因此它具有以下结构:

void warpPerspective(InputArray src, OutputArray dst, InputArray M, Size dsize, int flags=INTER_LINEAR, int borderMode=BORDER_CONSTANT, const Scalar& borderValue=Scalar())

srcMat你想要扭曲的,dst结果将存储在哪里.

perspectiveTransform适用于一组点.它在点集(vector例如)中应用H(Homography或warpMatrix)并将结果放在另一个点中vector.结果是vector应用翘曲后的第一个点.它有以下结构:

void perspectiveTransform(InputArray src, OutputArray dst, InputArray m)

src输入点在哪里,是输入点dst变形的结果.

结论:

在数学上,他们都做了同样的事情,即使用H扭曲一组点.

从技术上讲,warpPerspective在坐标上执行此Mat操作并将像素值(颜色)移动到新像素.perspectiveTransform,它只是计算点的新坐标并将其存储在新的坐标中vector.



1> Humam Helfaw..:

warpPerspective适用于图像.换句话说,warpPerspective可以使用H(Homography或warpMatrix)扭曲图像A并将结果放入B中,因此它具有以下结构:

void warpPerspective(InputArray src, OutputArray dst, InputArray M, Size dsize, int flags=INTER_LINEAR, int borderMode=BORDER_CONSTANT, const Scalar& borderValue=Scalar())

srcMat你想要扭曲的,dst结果将存储在哪里.

perspectiveTransform适用于一组点.它在点集(vector例如)中应用H(Homography或warpMatrix)并将结果放在另一个点中vector.结果是vector应用翘曲后的第一个点.它有以下结构:

void perspectiveTransform(InputArray src, OutputArray dst, InputArray m)

src输入点在哪里,是输入点dst变形的结果.

结论:

在数学上,他们都做了同样的事情,即使用H扭曲一组点.

从技术上讲,warpPerspective在坐标上执行此Mat操作并将像素值(颜色)移动到新像素.perspectiveTransform,它只是计算点的新坐标并将其存储在新的坐标中vector.

推荐阅读
jerry613
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有