赞
踩
使用opencv拼接图片,其实相当于拼接两个数组
下面是需要拼接的两张图片
import cv2
import numpy as np
img_top = cv2.imread("wechat_top.png")
img_bottom = cv2.imread("wechat_bottom.png")
# zero的shape设置为(高度, 宽度, 通道数)
img_last = np.zeros((150, 750, 3), np.uint8)
# 纵向拼接,高度依次递增;横向拼接,宽度依次递增
img_last[0:40, 0:750] = img_top
img_last[40:150, 0:750] = img_bottom
cv2.imwrite("img_last.jpg", img_last)
拼接结果
import cv2
import numpy as np
img_top = cv2.imread("wechat_top.png")
img_bottom = cv2.imread("wechat_bottom.png")
# 纵向拼接用np.vstack;横向拼接,np.hstack
# 如果需要拼接多个图片,可直接在后面添加,np.vstack([img_1, img_2, img_3])
res = np.vstack([img_top, img_bottom])
cv2.imwrite("res.jpg", res)
如果报错的话,请查看图片的高宽是否符合拼接条件
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。