Comment vérifier les dimensions de toutes les images dans un répertoire à l'aide de python?
J'ai besoin de vérifier les dimensions des images dans un répertoire. Actuellement, il a ~700 images.
J'ai juste besoin de vérifier la taille, et si la taille ne correspond pas à une dimension donnée, il sera déplacé vers un autre dossier. Comment dois-je commencer?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le Python Imaging Library (aka PIL) de lire les en-têtes de requête et les dimensions.
Une approche consisterait à écrire vous-même une fonction qui prend un nom de fichier et renvoie les dimensions (à l'aide de la LIP). Ensuite, utilisez la
os.path.walk
fonction de parcourir tous les fichiers dans le répertoire, l'application de cette fonction. La collecte des résultats, vous pouvez construire un dictionnaire de mappagesfilename -> dimensions
, puis utilisez une compréhension de liste (voiritertools
) d'éliminer ceux qui ne correspondent pas à la taille requise.os.listdir
fait ce que vous avez besoin, c'est bien. La principale différence est queos.walk
répète dans les sous-répertoires.Si vous n'avez pas besoin du reste de la LIP et veulent juste les dimensions de l'image de PNG, JPEG et GIF alors cette petite fonction (licence BSD) ne fera très bien l'affaire:
http://code.google.com/p/bfg-pages/source/browse/trunk/pages/getimageinfo.py
Une façon courante est d'utiliser PIL, le python imaging library pour obtenir les dimensions:
Alors vous avez besoin pour faire une boucle sur tous les fichiers de votre répertoire, vérifiez les dimensions à l'encontre de vos dimensions requises, et déplacer les fichiers qui ne correspondent pas.
Voici un script qui fait ce que vous avez besoin de:
Dans
folder_images
vous flèche répertoire où il est imagens.size_images
est une variable avec la taille des images dans ce format.SIZE_IMAGES
n'est pas quelque chose que je recommanderais.Je suis à peu près satisfait des réponses fournies ci-dessus que ceux qui m'ont aidé à écrire une réponse simple à cette question.
Comme la réponse ci-dessus ont uniquement des scripts afin que les lecteurs ont besoin pour exécuter pour vérifier ces si ils fonctionne bien ou non. J'ai donc décidé de résoudre le problème en utilisant un mode interactif de programmation(à partir de Python shell).
Je pense que ce sera clair pour vous. Je suis à l'aide de Python 2.7.12 et j'ai installé Oreiller bibliothèque à utiliser PIL pour accéder aux images.J'ai beaucoup de jpg mages et 1 image png dans mon répertoire courant.
Maintenant, nous allons passer à Python shell.
Vous pouvez également utiliser cv2 bibliothèque pour vérifier les dimensions des images.