Accumulation au sens de mémorandum et de SORTIE (c'est la fin du système créé à la fois)
Il y avait des moments où je voulais convertir toutes les tailles de travail, alors je l'ai créé pour simplifier mon travail.
・ Windows10 ・ Anaconda3 ・ Python3.7 ・ Cahier Jupyter
① Entrez le nom du dossier que vous souhaitez redimensionner (le répertoire un niveau au-dessus png_folder) ② S'il n'y a pas de dossier, créez resize_folder dans current_folder ③ Spécifiez la largeur et la hauteur et redimensionnez l'image (une erreur se produira si aucune entrée n'est effectuée) ④ 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 numpy as np
import os
import pathlib
from pathlib import Path
from glob import glob
from PIL import Image
from tqdm import tqdm
PG
image_resize_code
#Entrez le nom du dossier
folder_name = input('Enter the folder name :')
#obtenir le chemin
p = Path('C:/Users/H3051411/OUT/' + folder_name + '/_png_folder')
new_folder_name = '_resize_folder'
new_folder_path = os.path.join(p, new_folder_name)
#Obtenez un nouveau chemin
new_p = Path(new_folder_path)
#Si le dossier n'existe pas, redimensionnez-le
if not os.path.exists(new_folder_path):
#Créer un nouveau dossier
os.makedirs(new_folder_path)
#Spécifier la largeur et la hauteur
width = int(input('withsize_input: '))
height = int(input('height_size_input: '))
#Obtenir des fichiers dans la liste
files = list(p.glob('*.*'))
#Processus de redimensionnement
for f in tqdm(files):
#Obtenir le fichier image
img = Image.open(f)
#Redimensionner le traitement avec la plus haute qualité
img_resize = img.resize((width, height), Image.LANCZOS)
#Obtenir le nom du fichier
imgname = os.path.basename(f)
# print(imgname) #Pour confirmation
#Définir un nouveau nom de fichier
newfname ='resize_' + imgname
# print(newfname) #Pour confirmation
#Enregistrez le fichier(spécification de chemin)
img_resize.save(new_p/newfname)
else:
#Renvoie une erreur si le fichier existe
print('Error:resize_le dossier existe déjà.')
・ Non fonctionnalisé ・ 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.