如何解决合并来自不同源文件夹的图像
我有两个不同的文件夹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')
解决方法
我希望下面的解决方案是您想要的
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")