проблема с функцией cv :: warpPerspective () - PullRequest
0 голосов
/ 25 марта 2019

Я хочу наложить изображение на ранее обнаруженный элемент, используя классификаторы haarcascade, используя warpPerspective.Изображение кажется правильно масштабированным, но остальная часть изображения становится черной.

Я пытался изменить прозрачность исходного и конечного изображения, но я не знаю, было ли оно успешным.

изображение без деформацииПерспектива

изображение с деформацией Перспектива

Rect r = boundingRects.carRects.at(i).rect; // points of the object in the image.
vector<Point2d> imagePoints;
imagePoints.push_back(Point2d(r.x, r.y));
imagePoints.push_back(Point2d(r.x + r.width, r.y));
imagePoints.push_back(Point2d(r.x + r.width, r.y+ r.height));
imagePoints.push_back(Point2d(r.x, r.y + r.height));

dimensions.push_back(Point2d(0, 0)); // dimensions of the source image
dimensions.push_back(Point2d(899, 0));
dimensions.push_back(Point2d(899, 539));
dimensions.push_back(Point2d(0, 539));

H = findHomography(carAlertObject.dimensions, imagePoints); // get homography matrix
warpPerspective(carAlertObject.img, img, H,img.size()); // carAlertObject contains the source image and dimensions, img is the destination image

1 Ответ

0 голосов
/ 26 марта 2019

Проблема заключалась в том, что мне пришлось использовать изображение маски для применения функции warpPerspective, а затем сделать сумму этого изображения и конечного изображения, чтобы получить правильный результат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...