Bilder mit der Python Imaging Library manipulieren
Python Image Processing Library Pil/Kissen Erste Schritte Guide
Kernpunkte
- Python Image Processing Library (PIL) ist ein kostenloses Tool, das dem Python-Interpreter Bildverarbeitungsfunktionen hinzufügt, verschiedene Bilddateiformate unterstützt und Standard-Bildverarbeitungsprogramme wie Pixelbasis, Filter, Bildverbesserung und mehr bietet.
- Obwohl die letzte Version von PIL (1.1.7) im Jahr 2009 veröffentlicht wurde und nur Python 1.5.2-2.7 unterstützt, hat das Projekt mit dem Namen Pillow die PIL-Code-Basis und die Codebasis von Python 3.x hinzugefügt. Für die meisten Python -Benutzer eine praktikable Option.
- Mit PIL oder Kissen können Sie leicht Aufgaben wie das Lesen von Bildern, das Konvertieren von Bildern in Graustufen oder andere Typen, das Größenänderung von Bildern und das Speichern von Bildern ausführen. Die umfassende Dokumentation der Bibliothek enthält weitere Details und Tutorials.
In meinem vorherigen Artikel über Python -Fähigkeiten erwähnte ich, dass Python eine Sprache ist, die Benutzer zum Lieben inspirieren kann.
Einer der Gründe ist, dass diese Sprache eine große Anzahl zeitsparender Bibliotheken liefert. Ein gutes Beispiel ist die Python Image Processing Library (PIL), die in diesem Artikel hervorgehoben wird.
Was kann Pil
tunPIL ist eine kostenlose Bibliothek, die dem Python -Interpreter Bildverarbeitungsfunktionen hinzufügt und mehrere Bilddateiformate wie PPM, PNG, JPEG, GIF, TIFF und BMP unterstützt.
PIL bietet viele Standardprogramme zur Verarbeitung/Betriebs-/Betriebsprogramme wie:
- Pixelbasierte Operationen
- Maske und Transparenzbehandlung
- Filter (z. B. Unschärfe, Kontur, Glättung, Kantenerkennung)
- Bildverbesserung (z. B. Schärfen, Helligkeitsanpassung, Kontrast)
- Geometrie, Farbe und andere Transformationen
- text zu den bildern hinzufügen
- Bilder ausschneiden, einfügen und zusammenführen
- Erstellen Sie Miniaturansichten
Pil und Kissen
Eines der Probleme mit PIL ist, dass die neueste Version 1.1.7 im Jahr 2009 veröffentlicht wurde und nur Python 1.5.2-2.7 unterstützt. Obwohl die PIL -Website eine kommende Version von Python 3.x verspricht, war das letzte Commit im Jahr 2011 und die Entwicklung scheint gestoppt zu sein.
Zum Glück ist nicht alles für Python 3.x -Benutzer vorbei. Ein Projekt namens Pillow hat die PIL -Code -Basis und die Unterstützung für Python 3.x hinzugefügt. Angesichts der Tatsache, dass die meisten Leser Python 3.x verwenden, konzentriert sich dieser Artikel auf das Kissenaktualisierung.
Installation von Kissen
Da Kissen Python von Python 2.4 bis zur neuesten Version von Python unterstützt, werde ich mich nur auf die Installation von Kissen konzentrieren, nicht auf die ältere Version von PIL.
Verwenden Sie Python auf Mac
Ich schreibe derzeit dieses Tutorial unter Mac OS X Yosemite 10.10.5, daher werde ich beschreiben, wie man Kissen auf einem Mac OS X -Computer installiert. Machen Sie sich jedoch keine Sorge, ich werde am Ende dieses Abschnitts einen Link anbieten, in dem beschrieben wird, wie Kissen auf anderen Betriebssystemen installiert werden.
Ich möchte hier nur darauf hinweisen, dass Mac OS X vorinstalliert mit Python. Diese Version ist jedoch wahrscheinlich früher als 3.x.
Zum Beispiel bekomme ich auf meiner Maschine, wenn ich den Befehl $ python --version
terminal ausführe, Python 2.7.10.
python und pip
Eine sehr einfache Möglichkeit, Kissen zu installieren, ist über PIP.
Wenn Sie nicht PIP auf Ihrem Computer installiert haben, geben Sie einfach den folgenden Befehl in das Terminal ein:
$ sudo easy_install pip
Geben Sie nun Kissen ein, einfach Folgendes in das Terminal:
$ sudo pip install pillow
es ist einfach, nicht wahr?
Wie ich versprochen habe, finden Sie hier die Anweisungen zum Installieren von Kissen auf anderen Betriebssystemen.
Einige Beispiele
In diesem Abschnitt werde ich einige einfache Operationen demonstrieren, die wir mit PIL durchführen können.
Ich werde diese Tests auf den folgenden Bildern durchführen:
Wenn Sie diesen Beispielen folgen möchten, laden Sie dieses Bild herunter.
Lesen Sie das Bild
Dies ist der grundlegendste Betrieb in der Bildverarbeitungsaufgabe, da es zuerst gelesen werden muss, um ein Bild zu verarbeiten. Mit PIL kann dies leicht erfolgen, wie unten gezeigt:
from PIL import Image img = Image.open('brick-house.png')
Bitte beachten Sie, dass das IMG hier ein PIL -Bildobjekt ist, das von der Funktion open () erstellt wurde, die Teil des PIL -Bildmoduls ist.
Sie können auch offene Dateien, Zeichenfolgen oder Teerarchive lesen.
Bild in Graustufen, Anzeige und Speichern
KonvertierenDie Datei Brick-House.png ist ein Farbbild. Um es in Graustufen umzuwandeln, es anzeigen und dann ein neues Graustufenbild speichern, können Sie einfach Folgendes machen:
from PIL import Image img = Image.open('brick-house.png').convert('L') img.show() img.save('brick-house-gs','png')
Beachten Sie, dass wir dazu drei Hauptfunktionen verwenden: convert (), show () und save (). Da wir in ein Graustufenbild konvertieren, wird der Parameter 'l' in Convert () verwendet.
Folgendes ist das generierte Bild:
Konvertieren Sie in andere Bildtypen
Das Bild, an dem wir arbeiten, ist PNG -Typ. Angenommen, Sie möchten es in einen anderen Bildtyp wie JPG konvertieren. Sie können dies mit der Funktion Save () tun (wie im obigen Abschnitt, in dem die Funktion das Ergebnis speichert (die Ausgabe auf die Festplatte schreiben)):
from PIL import Image img = Image.open('brick-house.png') img.save('brick-image','jpeg')
Die Größe des Bildes
Die Größe (Größe) unseres Originalbildes beträgt 440 x 600 Pixel. Wenn wir die Größe ändern und es auf 256 x 256 Pixel machen möchten, können wir Folgendes tun:
from PIL import Image img = Image.open('brick-house.png') new_img = img.resize((256,256)) new_img.save('brick-house-256x256','png')
Dies erzeugt ein neues quadratisches Bild:
Wie Sie sehen, komprimiert dies das Bild auf die gewünschte Größe, anstatt es zu schneiden, was möglicherweise nicht das ist, was Sie wollen. Natürlich können Sie das Bild auch aufnehmen und gleichzeitig das richtige Seitenverhältnis beibehalten.
Zusammenfassung
Dieser schnelle Start ist nur so konzipiert, dass die Oberfläche von PIL eingeführt wird und wie man einige komplexe Bildverarbeitungsaufgaben in Python durch die PIL -Bibliothek problemlos erledigt.
Viele andere Aktionen, die Sie mit dieser Bibliothek ausführen können, werden in der umfassenden Kissendokumentation beschrieben, in der Sie weitere Details zu den oben genannten Problemen sowie bequemen Tutorials lesen können.
Ich hoffe, diese Einführung inspiriert Sie dazu, die Bildverarbeitung mit Python zu versuchen. viel Spaß!
Python Bildverarbeitungsbibliothek (PIL) FAQ (FAQ)
Wie installiere ich die Python Image Processing Library (PIL) in meinem System?
Um die Python Image Processing Library (PIL) zu installieren, müssen Sie PIP verwenden, der Python -Paketmanager ist. Öffnen Sie Ihren Terminal oder die Eingabeaufforderung und geben Sie den folgenden Befehl ein: pip install pillow
. Die "Kissen" -Bibliothek ist ein Zweig von PIL und wird aktiv gepflegt. Es wird empfohlen, "Kissen" anstelle von PIL zu verwenden. Wenn Sie mehrere Versionen von Python installiert haben, müssen Sie möglicherweise pip3 install pillow
für Python 3 verwenden.
Wie öffnen und Anzeigen von Bildern mit PIL?
Um Bilder mit PIL zu öffnen und anzuzeigen, müssen Sie das Bild mit der Funktion Image.open()
öffnen und das Bild mit der Funktion Image.show()
anzeigen. Hier ist ein Beispiel:
$ sudo easy_install pip
In diesem Code ist 'Image.jpg' der Name Ihrer Bilddatei. Stellen Sie sicher, dass sich die Bilddatei im selben Verzeichnis wie Ihr Python -Skript befindet, oder geben Sie den vollständigen Pfad zur Bilddatei an.
Wie kann ich das Bild mit PIL ändern?
Um das Bild mit PIL zu ändern, können Sie die Funktion Image.resize()
verwenden. Diese Funktion akzeptiert ein Tupel, das die neue Größe in Pixel angibt. Hier ist ein Beispiel:
$ sudo pip install pillow
In diesem Code wird die Bildgröße auf 800 × 800 Pixel geändert.
(Die Antwort auf die nachfolgenden FAQ ist ähnlich, weggelassen, die allgemeine Idee des Artikels unverändert)
Das obige ist der detaillierte Inhalt vonBilder mit der Python Imaging Library manipulieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen











Dieses Pilotprogramm, eine Zusammenarbeit zwischen CNCF (Cloud Native Computing Foundation), Ampere Computing, Equinix Metal und betätigten, rationalisiert ARM64 CI/CD für CNCF -Github -Projekte. Die Initiative befasst sich mit Sicherheitsbedenken und Leistung

Dieses Tutorial führt Sie durch das Erstellen einer serverlosen Bildverarbeitungspipeline mit AWS -Diensten. Wir werden ein Next.JS -Frontend erstellen, der in einem ECS -Fargate -Cluster eingesetzt wird und mit einem API -Gateway, Lambda -Funktionen, S3 -Eimer und DynamoDB interagiert. Th

Bleiben Sie über die neuesten technischen Trends mit diesen Top -Entwickler -Newsletters informiert! Diese kuratierte Liste bietet für jeden etwas, von KI -Enthusiasten bis hin zu erfahrenen Backend- und Frontend -Entwicklern. Wählen Sie Ihre Favoriten und sparen Sie Zeit, um nach REL zu suchen

CI/CD -Rätsel und -Lösungen für Open -Source -Software in ARM64 Architektur Die Bereitstellung von Open -Source -Software auf der ARM64 -Architektur erfordert eine leistungsstarke CI/CD -Umgebung. Es gibt jedoch einen Unterschied zwischen den Stützniveaus von ARM64 und herkömmlichen X86 -Prozessorarchitekturen, die häufig im Nachteil sind. Infrastrukturkomponentenentwickler für mehrere Architekturen haben bestimmte Erwartungen für ihr Arbeitsumfeld: Konsistenz: Die Tools und Methoden, die über Plattformen hinweg verwendet werden, sind konsistent und vermeiden, dass der Entwicklungsprozess aufgrund der Einführung weniger beliebter Plattformen geändert werden muss. Leistung: Die Plattform- und Support -Mechanismus haben eine gute Leistung, um sicherzustellen, dass die Bereitstellungsszenarien bei der Unterstützung mehrerer Plattformen nicht von unzureichender Geschwindigkeit beeinflusst werden. Testabdeckung: Effizienz, Konformität und

Die kundenspezifische Entwicklung von Telekommunikationssoftware ist zweifellos eine beträchtliche Investition. Langfristig können Sie jedoch erkennen, dass ein solches Projekt möglicherweise kostengünstiger ist, da es Ihre Produktivität wie jede fertige Lösung auf dem Markt steigern kann. Verstehen Sie die wichtigsten Vorteile des Aufbaus eines maßgeschneiderten Telekommunikationssystems. Holen Sie sich die genauen Funktionen, die Sie benötigen Es gibt zwei potenzielle Probleme mit der von Ihnen gekauften Telekommunikationssoftware. Einige fehlen nützliche Funktionen, die Ihre Produktivität erheblich verbessern können. Manchmal können Sie sie mit einer externen Integration verbessern, aber das ist nicht immer genug, um sie großartig zu machen. Andere Software hat zu viele Funktionen und ist zu kompliziert, um sie zu verwenden. Sie werden wahrscheinlich einige davon nicht verwenden (niemals!). Eine große Anzahl von Funktionen trägt normalerweise zum Preis bei. Basierend auf Ihren Bedürfnissen
