{"id":179298,"date":"2026-02-19T13:59:25","date_gmt":"2026-02-19T12:59:25","guid":{"rendered":"https:\/\/liora.io\/de\/?p=179298"},"modified":"2026-02-19T13:59:26","modified_gmt":"2026-02-19T12:59:26","slug":"pillow-python-image-wie-man-bilder-mit-python-bearbeitet","status":"publish","type":"post","link":"https:\/\/liora.io\/de\/pillow-python-image-wie-man-bilder-mit-python-bearbeitet","title":{"rendered":"Pillow Python Image: Wie man Bilder mit Python bearbeitet"},"content":{"rendered":"<p><strong>Pillow Python Image, fr\u00fcher PIL, ist eine Open-Source-Bibliothek, die speziell f\u00fcr die Verarbeitung von Bildern mit Python entwickelt wurde. Sie ist eine wahre Goldgrube f\u00fcr die Bearbeitung von Bilddateien. Entdecken wir gemeinsam einige der grundlegenden Funktionen dieser Referenzbibliothek.<\/strong><\/p>\n<!-- \/wp:post-content -->\n\n<!-- wp:heading -->\n<h2 id=\"h-was-ist-eine-python-bibliothek\" class=\"wp-block-heading\">Was ist eine Python-Bibliothek?<\/h2>\n<!-- \/wp:heading -->\n\n<!-- wp:paragraph -->\n<p>Die<a href=\"https:\/\/pypi.org\/project\/Pillow\/\"> Python Imaging Library<\/a>, kurz PIL, wurde urspr\u00fcnglich 1995 von Fredrik Lundh entwickelt und war die Referenzbibliothek f\u00fcr die Bildverarbeitung unter Python. Nachdem sie 2009 aufgegeben wurde, \u00fcbernahm Alex Clark den Quellcode des Projekts und ver\u00f6ffentlichte 2010 eine neue Version mit dem Namen Pillow, die PIL endg\u00fcltig ersetzte.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Im Gegensatz zu anderen <a href=\"https:\/\/liora.io\/de\/top-10-der-python-bibliotheken-fur-data-scientists\">Bibliotheken, die nur nebenbei einige Methoden zur Bildverarbeitung<\/a> anbieten, konzentriert sich Pillow fast ausschlie\u00dflich auf diesen Bereich. Sie ist also viel umfassender und optimierter f\u00fcr die Bildbearbeitung. Aus diesem Grund wird Pillow Python Image h\u00e4ufig in den wichtigsten Phasen eines Computer Vision- oder Videoverarbeitungsprojekts verwendet, obwohl es auch allgemeinere Bibliotheken wie <a href=\"https:\/\/liora.io\/de\/git-opencv-alles-ueber-was-computer-vision-tool\">OpenCV<\/a> oder MoviePy gibt.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Insgesamt werden nicht weniger als 30 Bildformate von diesem Modul unterst\u00fctzt. Zu den Formaten geh\u00f6ren die \u00fcblichen JPG-, PNG-, JPEG- und GIF-Dateien, aber auch speziellere Erweiterungen wie BLP (verwendet im ber\u00fchmten Spiel World of Warcraft), <strong>DDS (auch in der Videospielindustrie weit verbreitet)<\/strong> oder FITS (verwendet in der Astronomie).<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Eine der Hauptattraktionen von Pillow ist seine einfache Handhabung. Die Notationen sind nat\u00fcrlich und die zugrunde liegenden Klassen und Methoden wurden gut durchdacht, um die Benutzererfahrung zu erleichtern. Es ist dieser benutzerfreundliche Aspekt, den wir in diesem einf\u00fchrenden Artikel hervorheben wollen. as Ziel ist es, eine Reihe von Methoden vorzustellen, die du verwenden wirst, von den einfachsten bis zu den etwas anspruchsvolleren.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:heading -->\n<h2 id=\"h-pillow-python-image-die-image-klasse-im-zentrum-von-pillow\" class=\"wp-block-heading\">Pillow Python Image: Die Image-Klasse im Zentrum von Pillow<\/h2>\n<!-- \/wp:heading -->\n\n<!-- wp:heading {\"level\":3} -->\n<h3 id=\"h-ein-bild-in-python-importieren\" class=\"wp-block-heading\">Ein Bild in Python importieren<\/h3>\n<!-- \/wp:heading -->\n\n<!-- wp:paragraph -->\n<p>Innerhalb dieser umfangreichen<strong> Bibliothek<\/strong> gibt es eine Klasse mit dem schlichten Titel Image. Diese Klasse enth\u00e4lt eine ganze Reihe von Methoden, die f\u00fcr den<a href=\"https:\/\/liora.io\/de\/image-processing-grundlagen-und-praktische-anwendung\"> Einstieg in die Bildverarbeitung<\/a> wichtig sind. Im Folgenden sehen wir uns ein sehr einfaches Beispiel an:<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:code {\"style\":{\"spacing\":{\"margin\":{\"top\":\"var:preset|spacing|columns\",\"bottom\":\"var:preset|spacing|columns\"}}},\"fontSize\":\"xsmall\"} -->\n<pre class=\"wp-block-code has-xsmall-font-size\" style=\"margin-top:var(--wp--preset--spacing--columns);margin-bottom:var(--wp--preset--spacing--columns)\"><code>from PIL import Image\n\nim = Image.open(\"logoDST.jpg\")\n\nprint(im.format, im.size, im.mode)\n\nim.show()<\/code><\/pre>\n<!-- \/wp:code -->\n\n<!-- wp:paragraph -->\n<p>Der erste Schritt besteht darin, die Klasse Image aus dem PIL-Modul zu importieren. Anstatt die gesamte Pillow-Bibliothek zu importieren, ist es eine gute Idee, nur die Elemente hinzuzuf\u00fcgen, die f\u00fcr unser Projekt relevant sind.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Als N\u00e4chstes deklarieren wir eine Variable im vom Typ Bild \u00fcber die Methode open(). Einfach ausgedr\u00fcckt, haben wir die Bilddatei logoDST.jpg in der neuen Variablen gespeichert.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:image {\"align\":\"center\",\"style\":{\"spacing\":{\"margin\":{\"top\":\"var:preset|spacing|columns\",\"bottom\":\"var:preset|spacing|columns\"}}}} -->\n<figure class=\"wp-block-image aligncenter\" style=\"margin-top:var(--wp--preset--spacing--columns);margin-bottom:var(--wp--preset--spacing--columns)\"><img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/2023\/04\/image4-6-e1681838949757.png\" alt=\"\" title=\"\"><\/figure>\n<!-- \/wp:image -->\n\n<!-- wp:paragraph -->\n<p>Die dritte Zeile zeigt auf der Konsole einige Eigenschaften der Datei an, die in den verschiedenen Attributen der Klasse verf\u00fcgbar sind: Format, Gr\u00f6\u00dfe und Modus (Graustufen, RGB, CMYK&#8230;) und schlie\u00dflich die letzte Zeile, um das fragliche Bild anzuzeigen. Beachte, dass bei einer .ipynb-Datei (Jupyter Notebook) diese Zeile durch display(im) ersetzt werden muss, um das betreffende Bild anzuzeigen!<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:heading {\"level\":3} -->\n<h3 id=\"h-das-format-andern-und-eine-miniaturansicht-erstellen\" class=\"wp-block-heading\">Das Format \u00e4ndern und eine Miniaturansicht erstellen<\/h3>\n<!-- \/wp:heading -->\n\n<!-- wp:paragraph -->\n<p>Wie bei jeder anst\u00e4ndigen Bildbearbeitungssoftware kannst du die Art deiner Datei nach Belieben \u00e4ndern:<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:code {\"style\":{\"spacing\":{\"margin\":{\"top\":\"var:preset|spacing|columns\",\"bottom\":\"var:preset|spacing|columns\"}}},\"fontSize\":\"xsmall\"} -->\n<pre class=\"wp-block-code has-xsmall-font-size\" style=\"margin-top:var(--wp--preset--spacing--columns);margin-bottom:var(--wp--preset--spacing--columns)\"><code>import os, sys\nfrom PIL import Image\n\nfor infile in sys.argv[1:]:\n    f, e = os.path.splitext(infile)\n    outfile = f + \".jpg\"\n    if infile != outfile:\n        try:\n            with Image.open(infile) as im:\n                im.save(outfile)\n        except OSError:\n            print(\"cannot convert\", infile)<\/code><\/pre>\n<!-- \/wp:code -->\n\n<!-- wp:paragraph -->\n<p>Mit diesem Snippet kann eine Datei in das JPG-Format umgewandelt werden. Um ein bestimmtes Format anzugeben, musst du es im zweiten Parameter der Funktion save() erw\u00e4hnen. Eine Anwendung dieses Prinzips ist im n\u00e4chsten Snippet zu sehen, mit dem ein Miniaturbild f\u00fcr die .JPEG-Datei erstellt werden kann<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:code {\"style\":{\"spacing\":{\"margin\":{\"top\":\"var:preset|spacing|columns\",\"bottom\":\"var:preset|spacing|columns\"}}},\"fontSize\":\"xsmall\"} -->\n<pre class=\"wp-block-code has-xsmall-font-size\" style=\"margin-top:var(--wp--preset--spacing--columns);margin-bottom:var(--wp--preset--spacing--columns)\"><code>import os, sys\nfrom PIL import Image\n\nsize = (128, 128)\n\nfor infile in sys.argv[1:]:\n    outfile = os.path.splitext(infile)[0] + \".thumbnail\"\n    if infile != outfile:\n        try:\n            with Image.open(infile) as im:\n                im.thumbnail(size)\n                im.save(outfile, \"JPEG\")\n        except OSError:\n            print(\"cannot create thumbnail for\", infile)<\/code><\/pre>\n<!-- \/wp:code -->\n\n<!-- wp:paragraph -->\n<p>Schlie\u00dflich ist es auch m\u00f6glich, das Format einer Datei mit dem folgenden Befehl zu erkennen:<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:code {\"fontSize\":\"xsmall\"} -->\n<pre class=\"wp-block-code has-xsmall-font-size\"><code>import sys\nfrom PIL import Image\n\nfor infile in sys.argv[1:]:\n    try:\n        with Image.open(infile) as im:\n            print(infile, im.format, f\"{im.size}x{im.mode}\")\n    except OSError:\n        pass<\/code><\/pre>\n<!-- \/wp:code -->\n\n<!-- wp:buttons {\"className\":\"is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\"} -->\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\"><!-- wp:button -->\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/liora.io\/de\/unsere-aus-und-weiterbildungen\">Mehr erfahren \u00fcber Pillow<\/a><\/div>\n<!-- \/wp:button --><\/div>\n<!-- \/wp:buttons -->\n\n<!-- wp:heading {\"level\":3} -->\n<h3 class=\"wp-block-heading\">Ein Bild im Handumdrehen umwandeln<\/h3>\n<!-- \/wp:heading -->\n\n<!-- wp:paragraph -->\n<p>Wie bereits im ersten Teil erw\u00e4hnt, liegt der Hauptvorteil von Pillow in der gro\u00dfen Auswahl an Transformationsfunktionen und deren einfacher Bedienung.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Um diesen Teil zu veranschaulichen, werden wir eine Reihe von Transformationen an einem Quellbild durchf\u00fchren.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Im Folgenden haben wir die Auswirkungen von f\u00fcnf grundlegenden Transformationen auf ein <strong>Quellbild (das sogenannte &#8222;Original&#8220;)<\/strong> dargestellt.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:image {\"align\":\"center\",\"style\":{\"spacing\":{\"margin\":{\"top\":\"var:preset|spacing|columns\",\"bottom\":\"var:preset|spacing|columns\"}}}} -->\n\n<!-- \/wp:image -->\n\n<!-- wp:paragraph -->\n<p>Jeder Abbildung ist eine einzige<strong> Codezeile zugeordnet,<\/strong> die ben\u00f6tigt wird, um das angezeigte Bild zu erstellen. So kann im.convert(&#8222;L&#8220;) zum Beispiel den Modus des Bildes in Graustufen umwandeln, und genauso einfach k\u00f6nnen wir ein Bild croppen, transponieren, skalieren oder drehen.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:heading {\"level\":3} -->\n<h4 class=\"wp-block-heading\">Fotobearbeitung mit ImageEnhance<\/h4>\n<!-- \/wp:heading -->\n\n<!-- wp:paragraph -->\n<p>Das<strong> ImageEnhance-Modul<\/strong> enth\u00e4lt vier Klassen zur Steuerung von Parametern, die in der Fotobearbeitung \u00fcblich sind: Sch\u00e4rfe, Wei\u00dfabgleich, Kontrast und Helligkeit.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Jede dieser Klassen enth\u00e4lt eine einzige Methode namens enhance(), die als Parameter einen numerischen Wert f\u00fcr den Verst\u00e4rkungsfaktor annimmt: Ein Parameter von 1,0 gibt einfach eine exakte Kopie des eingegebenen Bildes zur\u00fcck, ausgedr\u00fcckt als Verh\u00e4ltnis.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Der Kontrast definiert die relative Skala des Unterschieds zwischen den hellen und dunklen Teilen eines Bildes. Der Wei\u00dfabgleich (color balance) passt die Farbintensit\u00e4t an die Lichtverh\u00e4ltnisse an. Die Helligkeit wirkt sich im Gegensatz zum Kontrast auf die Gesamtklarheit des Bildes aus. Die Sch\u00e4rfe (sharpness) schlie\u00dflich definiert die Feinheit der Details in einem Bild.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>So kannst du deine Fotos mit wenigen Zeilen bearbeiten!<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:image {\"align\":\"center\"} -->\n\n<!-- \/wp:image -->\n\n<!-- wp:heading {\"level\":3} -->\n<h4 class=\"wp-block-heading\">ImageFilter &#8211; ein erster Schritt in die Computer Vision<\/h4>\n<!-- \/wp:heading -->\n\n<!-- wp:paragraph -->\n<p>Wenn du dein Abenteuer in der Computer Vision fortsetzen m\u00f6chtest, ist <strong>Pillow und das ImageFilter-Modul<\/strong> ein guter Einstieg in diese attraktive Welt. In diesem Modul finden wir die Gau\u00dfsche Unsch\u00e4rfe, die Detailverbesserung und die Pr\u00e4gung (embossing). Viele Computer Vision-Algorithmen erfordern diese Art von Filterung, vor allem bei der Erkennung von Konturen.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:image {\"align\":\"center\",\"style\":{\"spacing\":{\"margin\":{\"top\":\"var:preset|spacing|columns\",\"bottom\":\"var:preset|spacing|columns\"}}}} -->\n<figure class=\"wp-block-image aligncenter\" style=\"margin-top:var(--wp--preset--spacing--columns);margin-bottom:var(--wp--preset--spacing--columns)\"><img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/2023\/04\/image5.jpg\" alt=\"\" title=\"\"><\/figure>\n<!-- \/wp:image -->\n\n<!-- wp:paragraph -->\n<p>Um mehr \u00fcber die Grundlagen von<a href=\"https:\/\/liora.io\/de\/computer-vision\"> Computer Vision zu erfahren, kannst du unseren Artikel zu diesem Thema lesen.<\/a><\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:heading -->\n<h2 class=\"wp-block-heading\">Und noch viele mehr!<\/h2>\n<!-- \/wp:heading -->\n\n<!-- wp:paragraph -->\n<p>Wenn dir diese Einf\u00fchrung in die <a href=\"https:\/\/pillow.readthedocs.io\/en\/stable\/\">PIL-Bibliothek<\/a> gefallen hat, solltest du wissen, dass dieser Artikel nur einen Bruchteil der Funktionen der Bibliothek behandelt hat! Es ist tats\u00e4chlich m\u00f6glich, deine Bildbearbeitung komplexer zu gestalten, indem du z. B. eigene Formen erstellst und verschiedene Bilder zusammenf\u00fcgst&#8230;<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:image {\"width\":\"auto\",\"height\":\"250px\",\"align\":\"center\"} -->\n\n<!-- \/wp:image -->\n\n<!-- wp:buttons {\"className\":\"is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\"} -->\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\"><!-- wp:button -->\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/liora.io\/de\/weiterbildung\">Data Science Weiterbildung<\/a><\/div>\n<!-- \/wp:button --><\/div>\n<!-- \/wp:buttons -->\n\n<!-- wp:html -->\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Der Newsletter der Zukunft\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Erhalte einen Einblick in die Zukunft \u2013 direkt in Dein Postfach.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Pillow Python Image: Die Image\u2011Klasse im Zentrum von Pillow\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Innerhalb dieser umfangreichen Bibliothek gibt es eine Klasse mit dem schlichten Titel Image.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Und noch viele mehr!\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Wenn dir diese Einf\u00fchrung in die PIL\u2011Bibliothek gefallen hat, solltest du wissen, dass dieser Artikel nur einen Bruchteil der Funktionen der Bibliothek behandelt hat!\"\n      }\n    }\n  ]\n}\n<\/script>\n\n<!-- \/wp:html -->","protected":false},"excerpt":{"rendered":"<p>Pillow Python Image, fr\u00fcher PIL, ist eine Open-Source-Bibliothek, die speziell f\u00fcr die Verarbeitung von Bildern mit Python entwickelt wurde. Sie ist eine wahre Goldgrube f\u00fcr die Bearbeitung von Bilddateien. Entdecken wir gemeinsam einige der grundlegenden Funktionen dieser Referenzbibliothek. Was ist eine Python-Bibliothek? Die Python Imaging Library, kurz PIL, wurde urspr\u00fcnglich 1995 von Fredrik Lundh entwickelt [&hellip;]<\/p>\n","protected":false},"author":87,"featured_media":218651,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"editor_notices":[],"footnotes":""},"categories":[2476],"class_list":["post-179298","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud-dev"],"acf":[],"_links":{"self":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/179298","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/users\/87"}],"replies":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/comments?post=179298"}],"version-history":[{"count":5,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/179298\/revisions"}],"predecessor-version":[{"id":218652,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/179298\/revisions\/218652"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/media\/218651"}],"wp:attachment":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/media?parent=179298"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/categories?post=179298"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}