在一个点(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 文档部分。
我希望在单个点上使用 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 文档部分。