python 实现图像的无缝拼接(2)
import os
import math
from PIL import Image
def merge_images(image_folder, output_file, n, m):
image_files = [os.path.join(image_folder, f) for f in os.listdir(image_folder) if f.endswith('.jpg')]
image_count = len(image_files)
if image_count == 0:
print('No image files found in the directory:', image_folder)
return
img = Image.open(image_files[0])
img_size0 = img.size[0]
img_size1 = img.size[1]
new_img_size0 = img_size0 * n
new_img_size1 = img_size1 * m
new_img = Image.new('RGB', (new_img_size0, new_img_size1), 'white')
for i, f in enumerate(image_files):
row = int(i / n)
col = i % n
img = Image.open(f)
img = img.resize((img_size0, img_size1))
new_img.paste(img, (col * img_size0, row * img_size1))
new_img.save(output_file)
image_folder = 'F:/rock_data/AI4_process/image_new/'
output_file = 'F:/rock_data/AI4_process/output.png'
n = 4
m = 4
merge_images(image_folder, output_file, n, m)