【Python】複数の画像を1行/列にマージ

2751 ワード

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インタフェースのcv 2.imread()関数は中国語ファイル名ファイルを読めません
画像を圧縮する場合はpython opencvを参照して保存した画像の品質を変更します