Accumulation au sens de mémorandum et OUTPUT
Code à utiliser lorsque vous souhaitez recadrer toutes les images de travail
・ Windows10 ・ Anaconda3 ・ Python3.7 ・ Cahier Jupyter
① Entrez le nom du dossier que vous souhaitez recadrer ② S'il n'y a pas de dossier, créez crop_folder dans current_folder et recadrez l'image. ③ Si le même nom de dossier existe déjà, une erreur se produira pour éviter une opération erronée.
All Necessary Libraries.py
import pathlib
import os
import shutil
import pprint
import numpy as np
from glob import glob
from PIL import Image
from tqdm import tqdm
from pathlib import Path
PG
change_pngextension_code
#Entrez le nom du dossier
folder_name = input('Enter the folder name :')
p = Path('C:/Users/H3051411/OUT/' + folder_name)
new_folder_name = '_crop_folder'
#Nouveau png du chemin actuel_Créer le dossier
new_folder_path = os.path.join(p, new_folder_name)
#S'il n'y a pas de dossier, copiez et créez
if not os.path.exists(new_folder_path):
#Récupérez les fichiers dans le répertoire
os.makedirs(new_folder_path)
#Convertir une nouvelle extension de chemin en fichier png
new_p = Path(new_folder_path)
files = list(p.glob('*.*'))
for i,f in tqdm(enumerate(files)):
print('Nombre de découpages d'image:{0}/{1}'.format(i+1,len(files)))
img = Image.open(f)
imgname = os.path.basename(f)
newfname = 'crop_' + imgname
# .crop((En haut à gauche x,En haut à gauche y,En bas à droite x,En bas à droite y))Spécifié par.
#La coordonnée supérieure gauche est(x, y) = (left, upper), La coordonnée inférieure droite est(x, y) = (right, lower)Correspond à.
img_resize = img.resize((634, 9606), Image.LANCZOS)
img_resize.crop((0, 0, 634, 935)).save(new_p/newfname, quality=95)
else:
print('Le dossier existe déjà.')
・ Non fonctionnalisé ・ Faible polyvalence car il est découpé à une taille spécifique ・ Cela prendra du temps si le nombre d'images augmente (non testé)
Le temps de travail a été réduit de 1 heure à 1 minute. De plus, je pense qu'il existe une meilleure façon de l'écrire.
Recommended Posts