[Python3] Code qui peut être utilisé lorsque vous souhaitez redimensionner des images dossier par dossier

Accumulation au sens de mémorandum et de SORTIE (c'est la fin du système créé à la fois)

But de la création

Il y avait des moments où je voulais convertir toutes les tailles de travail, alors je l'ai créé pour simplifier mon travail.

Environnement de création

・ Windows10 ・ Anaconda3 ・ Python3.7 ・ Cahier Jupyter

document

① 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.

Charger la bibliothèque

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à.')

Tâche

・ Non fonctionnalisé ・ Cela prendra du temps si le nombre d'images augmente (non testé)

Résumé

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

[Python3] Code qui peut être utilisé lorsque vous souhaitez redimensionner des images dossier par dossier
[Python3] Code qui peut être utilisé lorsque vous souhaitez découper une image dans une taille spécifique
[Python3] Code qui peut être utilisé lorsque vous souhaitez modifier l'extension d'une image à la fois
Scripts pouvant être utilisés lors de l'utilisation de Bottle en Python
[Sous-processus] Lorsque vous souhaitez exécuter un autre programme Python en code Python
Je souhaite créer une file d'attente prioritaire pouvant être mise à jour avec Python (2.7)
Si vous souhaitez créer une application Windows (exe) qui peut être utilisée maintenant en utilisant uniquement Python
Je veux pouvoir exécuter Python avec VS Code
Résumé de l'entrée standard de Python pouvant être utilisée dans Competition Pro
Fonctions pouvant être utilisées dans l'instruction for
Comment installer la bibliothèque Python qui peut être utilisée par les sociétés pharmaceutiques
Je veux écrire en Python! (1) Vérification du format de code
Algorithmes de base utilisables par les pros de la compétition
Pour pouvoir utiliser le japonais avec Python dans l'environnement Docker
Notes sur les connaissances Python utilisables avec AtCoder
Enregistrement d'image ANT qui peut être utilisé en 5 minutes
Peut être utilisé chez les pros de la compétition! Bibliothèque standard Python
[Python] pandas Code susceptible d'être réutilisé
Lorsque vous voulez plt.save dans l'instruction for
Je veux faire quelque chose avec Python à la fin
Convertir des images du SDK FlyCapture en un formulaire pouvant être utilisé avec openCV
Résumé des méthodes d'analyse de données statistiques utilisant Python qui peuvent être utilisées en entreprise
[Python] Introduction au scraping WEB | Résumé des méthodes pouvant être utilisées avec webdriver
Un mécanisme pour appeler des méthodes Ruby à partir de Python qui peut être fait en 200 lignes
Liste des outils qui peuvent être utilisés pour essayer facilement l'analyse des émotions des phrases japonaises avec Python (essayez avec google colab)
traitement python3 qui semble utilisable dans paiza
Comment configurer un serveur SMTP simple qui peut être testé localement en Python
Peut être utilisé avec AtCoder! Une collection de techniques pour dessiner du code court en Python!
[Python] Les arguments de longueur variable peuvent être utilisés lors de la décompression des éléments itérables
Goroutine (contrôle parallèle) utilisable sur le terrain
Goroutine utilisable sur le terrain (édition errgroup.Group)
[Python] Lorsque vous souhaitez importer et utiliser votre propre package dans le répertoire supérieur
Lorsque vous souhaitez lancer une commande UNIX sur Python
Comment écrire quand on veut mettre un nombre après le numéro de groupe à remplacer par une expression régulière dans re.sub de Python
Je l'ai fait parce que je veux des données JSON qui peuvent être utilisées librement dans les démos et les prototypes
Lorsque vous souhaitez remplacer plusieurs caractères dans une chaîne de caractères sans utiliser d'expressions régulières dans la série python3
Voulez-vous attendre un usage général avec Python Selenium?
Ligne de mode lorsque vous ouvrez le code Python approprié dans Vim
33 chaînes à ne pas utiliser comme noms de variables en python
Lorsque vous exécutez diff en python et que vous voulez à la fois le code de retour et la sortie
Nouvelles fonctionnalités de Python 3.9 (1) -L'opérateur d'ensemble de somme peut être utilisé dans le type de dictionnaire.
Vérifiez si vous pouvez vous connecter à un port TCP en Python
Articles à lire lorsque le code de script Python de Blender ne fonctionne pas dans 2.80
Module standard Python utilisable en ligne de commande
Comment collecter des images en Python
J'ai écrit un tri-arbre qui peut être utilisé pour l'implémentation de dictionnaire à grande vitesse en langage D et Python
Mémorandum Expression régulière Lorsqu'il y a plusieurs caractères que vous souhaitez séparer dans la chaîne de caractères
[Python] Code qui peut être écrit avec la mort cérébrale au début lors du scraping en tant que débutant
Remplissage facile des données pouvant être utilisées dans le traitement du langage naturel
J'ai créé un modèle de projet Python générique
Remarque Python: lorsque vous souhaitez connaître les attributs d'un objet
Si vous souhaitez compter les mots en Python, il est pratique d'utiliser Counter.
Signifie mémo lorsque vous essayez de faire de l'apprentissage automatique avec 50 images
Contrôle QPS utilisable sur le terrain (Rate Limit) Limite l'exécution à n fois par seconde
Deux outils de génération de documents que vous souhaitez absolument utiliser si vous écrivez python
Comment écrire des variables d'environnement que vous ne voulez pas mettre sur [GitHub] Python