# -*- coding: utf-8 -*- """ Created on Wed Oct 15 21:10:19 2025 """ import os import cv2 import numpy as np # 入力画像を置くフォルダ strin1 = 'in' # 出力画像フォルダ strout1 = 'out' # ADULT WOMANとおっぱいの絵 sample1 = 'p1.png' # 出力拡張子 ext1 = '.jpg' files = os.listdir(strin1) # inフォルダ内のファイルをすべて結合 for file in files: # 画像を読み込む(パスは適宜変更してください) img1 = cv2.imread(os.path.join(strin1, file)) img2 = cv2.imread(sample1) name, ext = os.path.splitext(file) new_filename = name + ext1 # 幅が足りない場合のみ余白追加 target_width = img1.shape[1] width = img2.shape[1] if width < target_width: # 左右に追加する余白のサイズ pad_total = target_width - width pad_left = pad_total // 2 pad_right = pad_total - pad_left # 余白を追加(白背景) padded_img = cv2.copyMakeBorder( img2, top=0, bottom=0, left=pad_left, right=pad_right, borderType=cv2.BORDER_CONSTANT, value=(255, 255, 255) ) else: # 幅がすでに目標以上ならそのまま padded_img = img2 # 上下に結合 combined = np.vstack((img1, padded_img)) # 画像保存 cv2.imwrite(os.path.join(strout1, new_filename), combined)