在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)
最后拼好的結果圖: