我正在尝试通过执行SIFT-> KNN-> warpPerspective使用OpenCV进行图像拼接。关于如何使右边的图像变形以拼接到左边的目标,有很多资源。我试过计算单应矩阵以使左图像扭曲到右缝,这似乎可行。问题是,我无法将图像与cv2.warpPerspective拼接在一起,因为它似乎将图像放置在右侧图像变形的地方。
我的代码基本上是:
result = cv2.warpPerspective(left, H, (left.shape[1] + right.shape[1], left.shape[0])
result[0:right.shape[0], result.shape[1]-right[1]:] = right
但这会导致图像偏移向右偏移。如何正确拼接图像?
最佳答案
首先,您应该调整图像大小并将其放置在较大的图像中outer_x= image_x*5
和outer_y= image_y*3
outer_x= image_x*5
outer_y= image_y*3
result = cv.warpPerspective(left_image, H, (outer_x, outer_y))
result[:, x_img * 2 : x_img*3] = right_image[j][:, x_img * 2 : x_img*3]
关于python - 在openCV warpPerspective中,如何转换左侧图像并将其缝合到右侧图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57999284/