在opencv中没有内置函数可以使图像进行拼接,我拼图的方法是根据自己要拼图的大小先创建一个纯黑的大图,然后在这张大图上覆盖上自己要拼的图。
如:要将下列的四幅图拼成一幅图。下面的四张图的像素都为 2736x1824。
import numpy as np import cv2 # 导入四张图片 image1 = cv2.imread('./data/1.jpg') image2 = cv2.imread('./data/2.jpg') image3 = cv2.imread('./data/3.jpg') image4 = cv2.imread('./data/4.jpg') # 创建一个纯黑的大图 mage = np.zeros((3648, 5472, 3), np.uint8) # 将要拼接的四张图像覆盖到大图上 mage[0:1824,0:2736] = image1 mage[0:1824,2736:5472] = image2 mage[1824:3648,0:2736] = image3 mage[1824:3648,2736:5472] = image4 # 保存图像 cv2.imwrite('./data/5.jpg',mage)
最后拼好的结果图: