我试图将两个图像在扭曲后混合在一起。问题是图像的大小不一样。我试过这样做来让混合物起作用:#warped_image and image_2 are parameters, warped_image is always larger
output_image = np.copy(warped_image)
topBottom = (warped_image.shape[0] - image_2.shape[0]) // 2
leftRight = (warped_image.shape[1] - image_2.shape[1]) // 2
if warped_image.shape[0] % 2 != 0:
warped_image = warped_image[0: warped_image.shape[0] - 1, 0: warped_image.shape[1] - 1]
image_2 = cv2.copyMakeBorder(image_2, topBottom, topBottom, leftRight, leftRight, cv2.BORDER_CONSTANT, value=[0,0,0])
while image_2.shape[0] != warped_image.shape[0]:
image_2 = cv2.copyMakeBorder(image_2, 1, 1, 1, 1, cv2.BORDER_CONSTANT,
value=[0, 0, 0])
cv2.addWeighted(warped_image, .5, image_2, .5, 0.0, output_image)
问题是第一次尝试时混合是不准确的,如果我尝试将一个已经混合的图像与另一个混合,图像就会完全扭曲。在
有没有更好的方法将两个图像混合在一个特定的点上?在
编辑结果:
两张图片:
把第三个和前两个混合:
第二个图像实际上太大了,无法加载到这里。它的末端尺寸是62521 4111,这是难以置信的大,因为图像都是3200 2368