image image


image

Erste Schritte mit Pillow und Python: Farbkanäle und Filter

In diesem Beitrag hatte ich ein Python-Template vorgestellt, das man als Grundlage für seine ersten Experimente nutzen kann. Dieses Template habe ich mittlerweile mit ein wenig Code gefüllt und erste Ergebnisse mit Pillow erzielt:

image

Natürlich kann man mit Pillow ein Farbbild in seine einzelnen Kanäle zerlegen. Die Kanäle sind durchnumeriert, Rot ist null, Grün ist eins und Blau ist zwei. Sollte noch ein Alphakanal vorhanden sein, erhält dieser den Index drei.

from PIL import Image, ImageEnhance
import os

R, G, B = 0, 1, 2

file_path = os.path.dirname(os.path.abspath(__file__))
os.chdir(file_path)

im_path = os.path.join("images", "sechseck.jpg")
im = Image.open(im_path)

source = im.split()
red = source[R]
green = source[G].point(lambda i: i*0.0)
blue = source[B].point(lambda i: i*0.0)
new_source = [red, green, blue]

new_im = Image.merge(im.mode, new_source)

new_im.show()

image

Wie im obigen Quelltext schon zu erahnen, kann man natürlich die Kanäle auch mischen. So ergibt viel Rot und ein wenig Grün ein sattes Orange.

from PIL import Image, ImageEnhance
import os

R, G, B = 0, 1, 2

file_path = os.path.dirname(os.path.abspath(__file__))
os.chdir(file_path)

im_path = os.path.join("images", "sechseck.jpg")
im = Image.open(im_path)

source = im.split()
red = source[R].point(lambda i: i*2.0)
green = source[G].point(lambda i: i*0.8)
blue = source[B].point(lambda i: i*0.0)
new_source = [red, green, blue]

new_im = Image.merge(im.mode, new_source)

new_im.show()

Als letztes möchte ich Euch zeigen, wie man vorgefertigte Filter mit Pillow und Python nutzt. Zwei davon habe ich im obigen Banner auf mein Testbild angewandt. Auch hier ist der Quellcode straightforward:

from PIL import Image, ImageFilter
import os

file_path = os.path.dirname(os.path.abspath(__file__))
os.chdir(file_path)

im_path = os.path.join("images", "sechseck.jpg")
im = Image.open(im_path)

filter_im = im.filter(ImageFilter.EMBOSS)

filter_im.show()

Mögliche vordefinierte Filter sind BLUR, CONTOUR, DETAIL, EDGE_ENHANCED, EDGE_ENHANCED_MORE, EMBOSS, FIND_EDGES, SHARPEN, SMOOTH und SMOOTH_MORE. Sie bringen nicht alle solch farblose Ergebnisse, wie sie oben im Banner zu sehen sind. Dort habe ich die Filter CONTOUR und EMBOSS verwendet, das sind die einzigen vordefinierten, farblosen Filter, die anderen ergeben mehr oder weniger bunte Bilder. Probiert sie doch einfach mal aus.

Die hohe Schule der Bildbearbeitung ist es natürlich, selbstgeschriebene Filter einzusetzen. Die umfangreiche Dokumentation gibt erste Hilfe. Vielleicht gibt es ja auch bald hier im Blog Kritzelheft einen weiteren Beitrag darüber.


(Kommentieren) 

image image



Über …

Der Schockwellenreiter ist seit dem 24. April 2000 das Weblog digitale Kritzelheft von Jörg Kantel (Neuköllner, EDV-Leiter Rentner, Autor, Netzaktivist und Hundesportler — Reihenfolge rein zufällig). Hier steht, was mir gefällt. Wem es nicht gefällt, der braucht ja nicht mitzulesen. Wer aber mitliest, ist herzlich willkommen und eingeladen, mitzudiskutieren!

Alle eigenen Inhalte des Schockwellenreiters stehen unter einer Creative-Commons-Lizenz, jedoch können fremde Inhalte (speziell Videos, Photos und sonstige Bilder) unter einer anderen Lizenz stehen.

Der Besuch dieser Webseite wird aktuell von der Piwik Webanalyse erfaßt. Hier können Sie der Erfassung widersprechen.

Diese Seite verwendet keine Cookies. Warum auch? Was allerdings die iframes von Amazon, YouTube und Co. machen, entzieht sich meiner Kenntnis.


Werbung

Diese Spalte wurde absichtlich leergelassen!


Werbung


image  image  image
image  image  image


image