python opencv图片拼接

python opencv图片拼接

  • 已知图片大小
  • 图片大小未知(但知道两张图片的宽或者高相同)

拼接条件: 两张图片的宽或者高相同

已知图片大小

使用opencv拼接图片,其实相当于拼接两个数组
下面是需要拼接的两张图片
wechat_top
wechat_bottom

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)

拼接结果
python opencv图片拼接_第1张图片

图片大小未知(但知道两张图片的宽或者高相同)

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)

如果报错的话,请查看图片的高宽是否符合拼接条件

你可能感兴趣的:(Python,opencv)