Я пытаюсь сшить 4 изображения одинакового размера вместе в виде сетки.
У меня уже есть соответствующие точки между каждым из 4 изображений (выбранных вручную из-за отсутствия сложности изображений). Я вычисляю гомографию между каждым из изображений, используя
h = cv2.findHomography(points1, points2, cv2.RANSAC, n)
а затем преобразовать их с помощью
img2Transformed = cv2.warpPerspective(img2, h, (YSHAPE, XSHAPE))
Моя проблема заключается в
(YSHAPE, XSHAPE)
Я не уверен, как определить эту область. Сначала я думал установить его на (img1.shape[1] + img2.shape[1], img1.shape[0] + img2.shape[0])
, а затем установить исходные координаты img2Transformed
на img1
, используя
img2Tranformed[:img1.shape[1], :img1.shape[0]] = img1
но потом понял, что преобразованное изображение все еще могло быть деформировано за пределы экрана вот так:
После получения преобразованного изображения, как мне объединить два изображения, не обрезая ничего? И как только я это сделаю, как мне освободить место для всех 4 изображений?