簡體   English   中英

如何將一個圖像粘貼到python中特定文件夾的每個圖像上?

[英]How to paste one image onto every images of a specific folder in python?

我有一個圖像 img2,我想將其粘貼到一個文件夾的每個圖像上,並將新圖像保存在一個新文件夾中。 下面是一張圖片的代碼。 如何遍歷特定文件夾並將新圖像保存在新文件夾中?

from PIL import Image
img1 = Image.open("2.png")
img1.show()
img2 = Image.open("1.png")
img1.paste(img2,mask=img2)
img1.save('3.png', quality=95)

謝謝

讓我們將您的問題分解為幾個步驟:

  1. 將您的代碼轉換為圖像文件名的 function
  2. 查找特定文件夾中所有文件的路徑
  3. 在所有圖像文件路徑上執行 function

要做到第一,請執行以下操作:

img2 = Image.open("1.png")

def function(img_path):
    img1 = Image.open(img_path).paste(img2,mask=img2)
    img1.save(img_path + 'modified')

對於第二個,使用從此修改的代碼:

import os
print([fn for fn in os.listdir(u'.') if os.path.isfile(fn)])
>>> ['main.py'] # list of files in same directory as python script

也許還可以解析文件路徑以檢查它們是否是有效的文件類型或手動刪除 python 腳本。

pillow_filetypes = ['.jpg', '.jpeg', '.jpe', '.dib', '.jp2', '.bmp', '.png']

讓我知道這是否有幫助,如果您有任何問題,請問我:)

這是解決方案:

from PIL import Image
import glob

img_to_paste = 'logo.png'

img2 = Image.open(img_to_paste) #Image to paste into other images

count = 1 # Labels the new generated images

images = [] # List of opened images

# Opens all the images except the one to be pasted
for img in glob.glob('*.png'):
    if img != img_to_paste:
        images.append(Image.open(img))

for imag in images:
    imag.paste(img2)
    imag.save(f'folder/{count}.png')
    count += 1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM