合并来自不同源文件夹的图像

我有两个不同的文件夹 a 和 b。“a”文件夹包含格式为 a_i.jpg 的图像(其中 i = 1 到 N)。“b”文件夹包含 b_i.jpg 格式的图像。我想将这些图像合并为 a_1 并将其与 b_1、a_2 与 b_2、.... a_N 与 b_N 合并,然后将新图像数据集存储在包含“N”个相同格式和 n_i 的合并图像的不同文件夹中。 jpg。


注意:我确保所有图像的大小都相同。


使用此代码,我可以合并单个文件,但是如何如上所述遍历整个文件夹?


images = [Image.open(x) for x in ['in.jpg', 'tulips.jpg']]

widths, heights = zip(*(i.size for i in images))


total_width = sum(widths)

max_height = max(heights)


new_im = Image.new('RGB', (total_width, max_height))


x_offset = 0

for im in images:

  new_im.paste(im, (x_offset,0))

  x_offset += im.size[0]


new_im.save('new2.jpg')


SMILET
浏览 162回答 2
2回答

慕标琳琳

我希望以下解决方案是您正在寻找的source_folder1 = "a"source_folder2 = "b"target_folder = "Image_Merged"for img_no in range(1,n+1):    img1 = source_folder1+"_"+str(img_no)+".jpg"    img2 = source_folder2+"_"+str(img_no)+".jpg"        images = [Image.open(x) for x in [img1, img2]]    widths, heights = zip(*(i.size for i in images))    total_width = sum(widths)    max_height = max(heights)    new_im = Image.new('RGB', (total_width, max_height))    x_offset = 0    for im in images:      new_im.paste(im, (x_offset,0))      x_offset += im.size[0]    new_im.save(target_folder+"/target_folder_"+str(img_no)+".jpg")

开心每一天1111

几乎没有变化from PIL import Imagesource_folder1 = 'a/'source_folder2 = 'b/'target_folder = 'Image_Merged/'n = len(source_folder1)+1for img_no in range(1,n+1):    img1 = (source_folder1+str(img_no)+".jpg")    img2 = (source_folder2+str(img_no)+".jpg")        images = [Image.open(x) for x in [img1, img2]]    widths, heights = zip(*(i.size for i in images))    total_width = sum(widths)    max_height = max(heights)    new_im = Image.new('RGB', (total_width, max_height))    x_offset = 0    for im in images:      new_im.paste(im, (x_offset,0))      x_offset += im.size[0]    new_im.save(target_folder+"/target_folder_"+str(img_no)+".jpg")
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python