Я пытаюсь сшить третье изображение после сшивания двух изображений вместе, но, похоже, это не работает.
Чтобы уточнить, я успешно соединил два изображения вместе, используя код, приведенный в документации opencv (http://docs.opencv.org/doc/tutorials/features2d/feature_homography/feature_homography.html) и получили это изображение. https://i.stack.imgur.com/gqQjV.jpg
Затем, после большого чтения и проблем с ROI, я удалил черные части изображения, чтобы получить это изображение.
Теперь я пытаюсь сшить третье изображение (https://i.stack.imgur.com/nXD86.jpg), используя тот же код, но сшивка не работает. Сопоставление функций работает отлично.
Но после выполнения программы я получаю то же изображение с большей черной областью (из-за ROI) и без третьего изображения. (Вывод: https://i.stack.imgur.com/WzZA0.jpg )
Я решил, что это как-то связано с крошечной черной полосой в конце сшитого изображения, поэтому оператор WarpPerspective не отображает сшитую область. Код :
Mat result;
warpPerspective(img_scene, result, H, Size(img_scene.cols*2, img_scene.rows*2), INTER_CUBIC);
Mat final(Size(img_scene.cols + img_object.cols, img_scene.rows*2),CV_8UC3);
Mat roi1(final, Rect(0, 0, img_object.cols, img_object.rows));
Mat roi2(final, Rect(0, 0, result.cols, result.rows));
result.copyTo(roi2);
img_object.copyTo(roi1);
Результат warpperspective дает черное изображение вместо оставшейся области.
Может кто-нибудь, пожалуйста, скажите мне, где я могу ошибаться и как это исправить? Спасибо