功能:给定任意大小的两个图片(矩阵),水平连接成一个图片(矩阵)。高度不同时,使用黑色作为高度较小者的边缘填充,图片垂直居中。
import cv2
import numpy as np
def image_join(image1, image2):
"""
水平合并两个opencv图像矩阵为一个图像矩阵
:param image1:
:param image2:
:return:
"""
h1, w1 = image1.shape[0:2]
h2, w2 = image2.shape[0:2]
if h1 > h2:
margin_height = h1 - h2
if margin_height % 2 == 1:
margin_top = int(margin_height / 2)
margin_bottom = margin_top + 1
else:
margin_top = margin_bottom = int((h1 - h2)/2)
image2 = cv2.copyMakeBorder(image2, margin_top, margin_bottom, 0, 0, cv2.BORDER_CONSTANT, value=[0, 0, 0])
elif h2 > h1:
margin_height = h2 - h1
if margin_height % 2 == 1:
margin_top = int(margin_height