在使用Python进行图像处理时,如果想要将两张图像合并成一张图像,需要将两张图像先转换成相同维数的数组,再进行合并。否则,将会出现“Different array dimensions causing failure to merge two images into one”的错误。
以下是一个代码示例,演示如何将两张不同维数的图像合并成一张图像:
import numpy as np
import cv2
# 读取第一张图像
img1 = cv2.imread('image1.jpg')
# 读取第二张图像
img2 = cv2.imread('image2.jpg')
# 将两张图像转换成相同的维数
if img1.shape[0] > img2.shape[0]:
img2 = cv2.resize(img2, (img1.shape[1], img1.shape[0]))
else:
img1 = cv2.resize(img1, (img2.shape[1], img2.shape[0]))
# 合并图像
merged_img = cv2.hconcat([img1, img2])
# 显示合并后的图像
cv2.imshow('Merged Image', merged_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
首先,使用cv2.imread()函数读取两张图像。然后,通过比较两张图像的维数,将维数较小的图像使用cv2.resize()函数进行缩放,使其与维数较大的图像保持一致。接着,使用cv2.hconcat()函数将两张图像水平合并成一张图像。最后,使用cv2.imshow()函数显示合并后的图像,cv2.waitKey()函数等待键盘输入,cv2.destroyAllWindows()函数关闭所有窗口。
上一篇:Array伪代码混淆