在一个点(PointF?)上使用 WarpPerspective()

Use WarpPerspective() on a point (PointF ?)

我希望在单个点上使用 WarpPerspective()。

目前我正在图像上使用它并且它正在工作:

Mat warpMatrix = CvInvoke.GetPerspectiveTransform(_srcCorners, _destCorners);

Image<Bgra, byte> dstImg = new Image<Bgra, byte>(width, height);
CvInvoke.WarpPerspective(img, dstImg, warpMatrix, new System.Drawing.Size(width, height),
   Inter.Linear, Warp.Default, BorderType.Transparent);

我想在一个点(Pointf)上做同样的事情。我做了一些测试,但每次我得到 0,0:/。示例:

Mat warpMatrix = CvInvoke.GetPerspectiveTransform(_srcCorners, _destCorners);

VectorOfPointF src = new VectorOfPointF(new PointF[] { point });
VectorOfPointF ret = new VectorOfPointF();
CvInvoke.WarpPerspective(src, ret, warpMatrix, new Size(1,1),
   Inter.Linear, Warp.Default, BorderType.Transparent);

拜托,你能帮帮我吗? :)

OpenCV 使用不同的函数来转换点 and/or 向量。见 perspectiveTransform 文档部分。