Lässt es sich mit cremefarbenem Papier, einer Tönung, mehr Kontrast oder größerer Schrift besser lesen? Wählen Sie Ihre Farben und Ihre Schrift, einmalig für alle Seiten.

Kostenlose Lektion

Farben mischen und Transparenz

Nach dieser Lektion: Ich kann zwei Farben mit einer Deckkraft zu einer neuen Farbe mischen.

Lektion, 60 Min.2 BefehleComputer-Vision-Lab: Pixel, Schwellenwerte und Objekte zählen in JupyterLab

Wie ein Bildschirm Farben mischt

Eine Farbe auf dem Bildschirm besteht aus drei Zahlen: der Menge an Rot, an Grün und an Blau. Jede Zahl liegt zwischen 0 und 255, und aus diesen drei Lichtern entsteht jede Farbe, die Sie sehen.

Mit denselben Zahlen lassen sich zwei Farben überblenden, etwa ein halbtransparentes Fenster über einem Hintergrund. Das rechnen Sie in dieser Lektion selbst.

Am Ende dieser Lektion

Notiz

Ich kann zwei Farben mit einer Deckkraft zu einer neuen Farbe mischen.

Schlüsselwörter

BegriffWas er bedeutet
Kanaleine der drei Zahlen einer Farbe
RGBRot, Grün und Blau als drei Kanäle
Deckkraftwie stark die vordere Farbe zählt, in Prozent
Mischenaus zwei Farben eine neue berechnen
Alphawertder Fachbegriff für die Deckkraft

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Eine Farbe besteht aus drei Zahlen

Jedes Pixel speichert drei Kanäle: Rot, Grün und Blau, kurz RGB. Ein Kanal hat 8 Bit, also 256 mögliche Werte von 0 bis 255. Null heißt, das Licht ist aus, 255 heißt volle Helligkeit.

Der Bildschirm addiert Licht. Rot und Grün zusammen ergeben darum Gelb, und alle drei Kanäle voll ergeben Weiß.

Beispiel: fünf Farben als Zahlen

FarbeRotGrünBlau
Schwarz000
Weiß255255255
Rot25500
Gelb2552550
Mittelgrau128128128

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Das Lab mischt Rot und Blau

Der Befehl legt ein Bild mit 5 Pixeln an. Das erste ist reines Rot, das letzte reines Blau, dazwischen mischt er in vier gleichen Schritten.

Er gibt die fünf Farben aus: von (255, 0, 0) über (127, 0, 127), ein Violett, bis (0, 0, 255). Er speichert das Bild vergrößert als mischung.png: ein Streifen, der von Rot über Violett nach Blau läuft.

Einen Verlauf von Rot nach Blau zeichnen

Befehl
docker exec jupyter python3 -c "from PIL import Image; b = Image.new('RGB', (5, 1)); [b.putpixel((i, 0), tuple((a * (4 - i) + c * i) // 4 for a, c in zip((255, 0, 0), (0, 0, 255)))) for i in range(5)]; b.resize((100, 20), Image.NEAREST).save('mischung.png'); print([b.getpixel((i, 0)) for i in range(5)])"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Mischen heißt: von jeder Farbe einen Anteil nehmen

Das Beispiel legt Rot (200, 0, 0) über Blau (0, 0, 200). Bei einer Deckkraft von 25 Prozent zählt die vordere Farbe zu einem Viertel und die hintere zu drei Vierteln. Das gilt für jeden Kanal einzeln.

Neuer Kanal gleich vorne mal Deckkraft plus hinten mal (100 minus Deckkraft), alles durch 100. Ein Plus von 50 vor dem Teilen rundet auf die nächste ganze Zahl, denn // schneidet sonst ab.

Beispiel: Rot über Blau, fünf Deckkräfte

DeckkraftRotGrünBlau
0 Prozent00200
25 Prozent500150
50 Prozent1000100
75 Prozent150050
100 Prozent20000

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Einen Kanal mischen und rechnen lassen

Code: python
# Ein Kanal: vorne 200, hinten 0, Deckkraft 25 Prozent.
vorne = 200
hinten = 0
alpha = 25
kanal = (vorne * alpha + hinten * (100 - alpha) + 50) // 100
print("Gemischter Kanal:", kanal)
# Ändern Sie alpha auf 50 und starten Sie erneut.

Pillow zählt die Deckkraft von 0 bis 255

Ein Bild mit Transparenz hat einen vierten Kanal, den Alphawert. Pillow zählt ihn von 0 bis 255, nicht in Prozent. 64 von 255 sind etwa 25 Prozent.

Der Befehl legt ein rotes Pixel mit Alpha 64 über ein blaues Pixel und lässt Pillow mischen. Das Ergebnis ist (50, 0, 150, 255), dieselbe Mischung wie die Formel für 25 Prozent.

Pillow über Blau legen lassen

Befehl
docker exec jupyter python3 -c "from PIL import Image; v = Image.new('RGBA', (2, 2), (200, 0, 0, 64)); h = Image.new('RGBA', (2, 2), (0, 0, 200, 255)); print(Image.alpha_composite(h, v).getpixel((0, 0)))"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Ein häufiger Fehler

Warnung

Viele denken, Rot und Grün ergäben Braun, wie bei Wasserfarben. Ein Bildschirm mischt aber Licht, und Licht addiert sich. Rot und Grün zusammen ergeben auf dem Bildschirm Gelb, (255, 255, 0).

Über dieses Lab und seinen Quellcode: Computer-Vision-Lab: Pixel, Schwellenwerte und Objekte zählen in JupyterLab

Sie unterrichten eine Gruppe? Weisen Sie dieses Modul Ihren Studierenden zu, mit Handbuch für Lehrende, automatisch geprüften Aufgaben und einem Lab für jede Person.