Table des matières
Comment installer Python Image Processing Library (PIL) sur mon système?
Comment ouvrir et afficher des images à l'aide de PIL?
Comment redimensionner l'image à l'aide de PIL?
Maison Périphériques technologiques Industrie informatique Manipulation d'images avec la bibliothèque d'imagerie Python

Manipulation d'images avec la bibliothèque d'imagerie Python

Feb 19, 2025 pm 12:33 PM

Python Image Processing Library PIL / Oreiller Guide Guide

Points de base

  • Python Image Processing Library (PIL) est un outil gratuit qui ajoute des capacités de traitement d'image à l'interpréteur Python, prend en charge divers formats de fichiers d'image et fournit des programmes de traitement d'image standard tels que les opérations basées sur les pixels, les filtres, l'amélioration de l'image et plus encore.
  • bien que la dernière version de PIL (1.1.7) ait été publiée en 2009 et ne prend en charge que Python 1.5.2-2.7, le projet nommé Pillow a fourre-PIL la base de code PIL et a ajouté la prise en charge de la base de code de Python 3.x en fait un Option viable pour la plupart des utilisateurs de Python.
  • Avec PIL ou Pillow, vous pouvez facilement effectuer des tâches telles que la lecture d'images, la conversion d'images en niveaux de gris ou d'autres types, redimensionner des images et enregistrer des images. La documentation complète de la bibliothèque fournit plus de détails et de tutoriels.

Dans mon article précédent sur Python Skills, j'ai mentionné que Python est une langue qui peut inspirer les utilisateurs à aimer.

L'une des raisons est que ce langage fournit un grand nombre de bibliothèques économes dans le temps. Un bon exemple est la bibliothèque de traitement d'image Python (PIL), qui sera mise en évidence dans cet article.

Que peut faire PIL

PIL est une bibliothèque gratuite qui ajoute des capacités de traitement d'image à l'interpréteur Python et prend en charge plusieurs formats de fichiers d'image tels que PPM, PNG, JPEG, GIF, TIFF et BMP.

PIL fournit de nombreux programmes de traitement / opération d'image standard, tels que:

  • Opérations à base de pixels
  • Masque et traitement de transparence
  • Filtres (par ex. Blur, contour, lissage, détection de bord)
  • Amélioration de l'image (par exemple, affûtage, réglage de la luminosité, contraste)
  • Géométrie, couleur et autres transformations
  • Ajouter du texte aux images
  • Couper, coller et fusionner les images
  • Créer des miniatures

PIL et oreiller

L'un des problèmes avec PIL est que sa dernière version 1.1.7 a été publiée en 2009 et ne prend en charge que Python 1.5.2-2.7. Bien que le site Web de PIL promet une version à venir de Python 3.x, son dernier engagement a été en 2011 et le développement semble s'être arrêté.

Heureusement, tout n'est pas terminé pour les utilisateurs de Python 3.x. Un projet appelé Pillow a fourche la base de code PIL et a ajouté la prise en charge de Python 3.x. Étant donné que la plupart des lecteurs peuvent utiliser Python 3.x, cet article se concentrera sur la mise à jour de l'oreiller.

Installation de l'oreiller

Étant donné que Pillow prend en charge Python de Python 2.4 à la dernière version de Python, je me concentrerai uniquement sur l'installation d'oreiller, pas la version ancienne de PIL.

Utilisez Python sur Mac

J'écris actuellement ce tutoriel sur Mac OS X Yosemite 10.10.5, donc je vais décrire comment installer un oreiller sur une machine Mac OS X. Mais, ne vous inquiétez pas, je vais fournir un lien à la fin de cette section qui décrit comment installer un oreiller sur d'autres systèmes d'exploitation.

Je veux juste souligner ici que Mac OS X est préinstallé avec Python. Cependant, cette version est susceptible d'être antérieure à 3.x.

Par exemple, sur ma machine, lorsque j'exécute la commande $ python --version Terminal, j'obtiens Python 2.7.10.

python et pip

Un moyen très simple d'installer un oreiller est via PIP.

Si vous n'avez pas installé PIP sur votre machine, entrez simplement la commande suivante dans le terminal:

$ sudo easy_install pip
Copier après la connexion
Copier après la connexion

Maintenant, pour installer un oreiller, entrez simplement ce qui suit dans le terminal:

$ sudo pip install pillow
Copier après la connexion
Copier après la connexion

C'est facile, non?

Comme je l'ai promis, vous pouvez trouver les instructions ici pour installer un oreiller sur d'autres systèmes d'exploitation.

Quelques exemples

Dans cette section, je démontrerai quelques opérations simples que nous pouvons faire avec PIL.

Je vais effectuer ces tests sur les images suivantes:

Manipulating Images with the Python Imaging Library

Si vous souhaitez suivre ces exemples, téléchargez cette image.

Lisez l'image

Il s'agit de l'opération la plus élémentaire dans la tâche de traitement d'image, car pour traiter une image, elle doit être lue en premier. Avec PIL, cela peut être fait facilement, comme indiqué ci-dessous:

from PIL import Image
img = Image.open('brick-house.png')
Copier après la connexion

Veuillez noter que l'IMG ici est un objet d'image PIL créé par la fonction Open (), qui fait partie du module d'image PIL.

Vous pouvez également lire des fichiers ouverts, des chaînes ou des archives TAR.

Convertir l'image en niveaux de gris, afficher et enregistrer

Le fichier brique-house.png est une image couleur. Pour le convertir en niveaux de gris, afficher, puis enregistrer une nouvelle image en niveaux de gris, vous pouvez simplement faire ce qui suit:

from PIL import Image
img = Image.open('brick-house.png').convert('L')
img.show()
img.save('brick-house-gs','png')
Copier après la connexion

Notez que nous utilisons trois fonctions principales pour ce faire: convert (), show () et sauver (). Étant donné que nous nous converrons en une image en niveaux de gris, le paramètre «l» est utilisé dans convert ().

Ce qui suit est l'image générée:

Manipulating Images with the Python Imaging Library

Convertir en autres types d'images

L'image sur laquelle nous travaillons est le type PNG. Supposons que vous souhaitiez le convertir en un autre type d'image, comme JPG. Vous pouvez le faire en utilisant la fonction Save () (comme dans la section ci-dessus qui utilise la fonction pour enregistrer le résultat (écrivez la sortie sur disque)):

from PIL import Image
img = Image.open('brick-house.png')
img.save('brick-image','jpeg')
Copier après la connexion

redimensionner l'image

La taille (taille) de notre image d'origine est de 440 x 600 pixels. Si nous voulons le redimensionner et le rendre dimensionné à 256 x 256 pixels, nous pouvons faire ce qui suit:

from PIL import Image
img = Image.open('brick-house.png')
new_img = img.resize((256,256))
new_img.save('brick-house-256x256','png')
Copier après la connexion

Cela générera une nouvelle image carrée:

Manipulating Images with the Python Imaging Library

Comme vous pouvez le voir, cela comprime l'image à la taille souhaitée, plutôt que de la recadrer, ce qui peut ne pas être ce que vous voulez. Bien sûr, vous pouvez également recadrer l'image tout en conservant le rapport d'aspect approprié.

Résumé

Ce démarrage rapide est conçu uniquement pour introduire la surface de PIL et montrer comment accomplir facilement certaines tâches de traitement d'image complexes dans Python via la bibliothèque PIL.

De nombreuses autres actions que vous pouvez faire avec cette bibliothèque sont décrites dans la documentation complète des oreillers où vous pouvez lire plus de détails sur les problèmes ci-dessus ainsi que des tutoriels pratiques.

J'espère que cette introduction vous inspire pour essayer le traitement d'image à l'aide de Python. amusez-vous!

Python Image Processing Library (PIL) FAQ (FAQ)

Comment installer Python Image Processing Library (PIL) sur mon système?

Pour installer Python Image Processing Library (PIL), vous devez utiliser PIP, qui est le gestionnaire de packages de Python. Ouvrez votre terminal ou votre invite de commande et entrez la commande suivante: pip install pillow. La bibliothèque «oreiller» est une branche de PIL et est activement entretenue, il est donc recommandé d'utiliser «oreiller» au lieu de PIL. Si vous avez plusieurs versions de Python installées, vous devrez peut-être utiliser pip3 install pillow pour Python 3.

Comment ouvrir et afficher des images à l'aide de PIL?

Pour ouvrir et afficher des images à l'aide de PIL, vous devez ouvrir l'image à l'aide de la fonction Image.open() et afficher l'image à l'aide de la fonction Image.show(). Voici un exemple:

$ sudo easy_install pip
Copier après la connexion
Copier après la connexion

Dans ce code, «image.jpg» est le nom de votre fichier image. Assurez-vous que le fichier image se trouve dans le même répertoire que votre script Python ou fournissez le chemin complet du fichier image.

Comment redimensionner l'image à l'aide de PIL?

Pour redimensionner l'image à l'aide de PIL, vous pouvez utiliser la fonction Image.resize(). Cette fonction accepte un tuple qui spécifie la nouvelle taille en pixels. Voici un exemple:

$ sudo pip install pillow
Copier après la connexion
Copier après la connexion

Dans ce code, la taille de l'image est redimensionnée à 800 × 800 pixels.

(La réponse à la FAQ suivante est similaire, omise, gardez l'idée générale de l'article inchangé)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

<🎜>: Grow A Garden - Guide de mutation complet
3 Il y a quelques semaines By DDD
<🎜>: Bubble Gum Simulator Infinity - Comment obtenir et utiliser les clés royales
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Système de fusion, expliqué
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Comment déverrouiller le grappin
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel Java
1666
14
Tutoriel PHP
1273
29
Tutoriel C#
1253
24
Pilote CNCF ARM64: impact et perspectives Pilote CNCF ARM64: impact et perspectives Apr 15, 2025 am 08:27 AM

Ce programme pilote, une collaboration entre le CNCF (Cloud Native Computing Foundation), Ampere Computing, Equinix Metal et ACTUTIE, rationalise ARM64 CI / CD pour les projets GitHub CNCF. L'initiative répond aux problèmes de sécurité et aux performances LIM

Pipeline de traitement d'image sans serveur avec AWS ECS et Lambda Pipeline de traitement d'image sans serveur avec AWS ECS et Lambda Apr 18, 2025 am 08:28 AM

Ce tutoriel vous guide dans la création d'un pipeline de traitement d'image sans serveur à l'aide de services AWS. Nous allons créer un frontend Next.js déployé sur un cluster ECS Fargate, en interagissant avec une passerelle API, des fonctions lambda, des seaux S3 et DynamoDB. Ème

Top 21 newsletters du développeur auquel s'abonner en 2025 Top 21 newsletters du développeur auquel s'abonner en 2025 Apr 24, 2025 am 08:28 AM

Restez informé des dernières tendances technologiques avec ces meilleurs bulletins de développeur! Cette liste organisée offre quelque chose pour tout le monde, des amateurs d'IA aux développeurs assaisonnés du backend et du frontend. Choisissez vos favoris et gagnez du temps à la recherche de rel

CNCF déclenche une percée de parité de plate-forme pour ARM64 et X86 CNCF déclenche une percée de parité de plate-forme pour ARM64 et X86 May 11, 2025 am 08:27 AM

Puzzles CI / CD et solutions pour les logiciels open source dans l'architecture ARM64 Le déploiement de logiciels open source sur l'architecture ARM64 nécessite un environnement CI / CD puissant. Cependant, il existe une différence entre les niveaux de soutien des architectures de processeur ARM64 et traditionnelles x86, qui sont souvent désavantagées. Les développeurs de composants d'infrastructure pour plusieurs architectures ont certaines attentes pour leur environnement de travail: Cohérence: les outils et méthodes utilisés sur les plateformes sont cohérents, évitant la nécessité de modifier le processus de développement en raison de l'adoption de plateformes moins populaires. Performances: La plate-forme et le mécanisme de support ont de bonnes performances pour garantir que les scénarios de déploiement ne sont pas affectés par une vitesse insuffisante lors de la prise en charge de plusieurs plates-formes. Couverture de test: efficacité, conformité et

Avantages du logiciel de télécommunication personnalisé Avantages du logiciel de télécommunication personnalisé May 11, 2025 am 08:28 AM

Le développement de logiciels de télécommunications personnalisés est sans aucun doute un investissement considérable. Cependant, à long terme, vous pouvez réaliser qu'un tel projet peut être plus rentable car il peut augmenter votre productivité comme toute solution prête à l'emploi sur le marché. Comprendre les avantages les plus importants de la construction d'un système de télécommunications personnalisé. Obtenez les fonctionnalités exactes dont vous avez besoin Il y a deux problèmes potentiels avec le logiciel de télécommunications standard que vous pouvez acheter. Certaines manquent de fonctionnalités utiles qui peuvent améliorer considérablement votre productivité. Parfois, vous pouvez les améliorer avec une certaine intégration externe, mais cela ne suffit pas toujours pour les rendre excellents. D'autres logiciels ont trop de fonctions et sont trop compliqués à utiliser. Vous n'en utilisez probablement pas (jamais!). Un grand nombre de fonctionnalités ajoute généralement au prix. En fonction de vos besoins

See all articles