Используйте WarpPerspective () для точки (PointF?) - PullRequest
0 голосов
/ 09 апреля 2020

Я буду sh использовать 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);

Я буду sh сделать то же самое в точке (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);

Пожалуйста, вы можете мне помочь? :)

1 Ответ

1 голос
/ 09 апреля 2020

OpenCV использует другую функцию для преобразования точек и / или векторов. См. Раздел pectiveTransform в документации.

...