【Python】合并多张图片为一行/一列

import cv2
import numpy as np

def concatenate_img(img_list, img_name, axis=1):
    img_list = [cv2.imread(img) for img in img_list]
    img = np.concatenate(([i for i in img_list]), axis=axis)
    cv2.imwrite(img_name, img)

if __name__=='__main__':
    img_list = [''] # 图片的本地地址
    # 合并方式为合成一行,若要为一列,则axis改为0
    concatenate_img(img_list, img_name='img.png', axis=1) 

备注:如果cv2.imread结果为None,可能是因为你的文件名里面有中文,解决办法是

image = cv2.imread(image_path)替换为image = cv2.imdecode(np.fromfile(image_path,dtype=np.uint8),-1)
参考:opencv python接口中cv2.imread()函数不能读中文文件名文件

如果要压缩图片的话,参考python opencv修改保存的图片质量

你可能感兴趣的:(Python)