Zielfoto-Farbgraualgorithmus

Der Farbgraualgorithmus

Die Algorithmusexperten am MIG haben einen Zielfotoumrechnungsalgorithmus mitsamt Longtolong-Implementierung für Excel entwickelt, um ein in Originalfarben aufgenommenes Zielfoto in historische Graustufen umzurechnen.

Farbmathematischer Hintergrund

Der RGB-Farbraum besteht aus den drei Lichtgrundfarben Rot, Grün und Blau mit einem Farbanteil von jeweils 0 bis 255. Daraus können mehr als 16 Millionen Farben gemischt werden (exakt 256 hoch 3 = 16.777.216). Reines Rot hat beispielsweise das Mischverhältnis Rot (255) – Grün (0) – Blau (0). Schwarz ergibt sich aus dem Mischverhältnis von jeweils null Anteilen Rot, Grün und Blau (0/0/0). Weiß dagegen hat jeweils 255 Anteile der drei Grundfarben (255/255/255).

Werden die Grundfarben Rot, Grün und Blau zu jeweils gleichen Teilen gemischt, dann entsteht ein Grauton zwischen Schwarz und Weiß. Würfelmathematisch betrachtet wirft sich jedoch die Frage auf, warum sich auf der Graustufenraumdiagonalen mit 256 genau so viele Abstufungen wie auf den Farbwürfelkanten befinden, wo doch die Länge der Diagonalen √3 (also das rund 1,73-fache) der Kanten beträgt. Wären die Graustufen im gleichen Abstand wie die Farbstufen angeordnet, dann müsste man 443 Grautöne erwarten, was aber im RGB-Farbmodell nicht abgebildet werden kann. Die Begründung dafür liegt in der sogenannten Zwischengrautheorie, nach der praktisch unendlich viele Graustufen zwischen schwarzen Löchern und weißem Licht existieren. Dieses Unendlichkeitsgrau (UG, engl. EG für Eternity Grey) wird im RGB-Modell durch Lichtbrechung an der Diagonalen zu einem ganzzahligen 256er-Würfelgrau herabgebrochen.

Das heißt, den 16.777.216 Farben stehen nur 256 Graus entgegen. Dabei wird für jede Farbe das nächstgelegene Ganzzahlgrau auf der Raumdiagonalen gesucht, womit jedes Grau aus 65536 (16777216 geteilt durch 256) verschiedenen Farben resultieren kann. So wird etwa Reinrot (255/0/0) wie auch Reingrün (0/255/0) und Reinblau (0/0/255) jeweils in das gleiche Grau (85/85/85) umgerechnet, genauso wie auch das Grau an sich (85/85/85). Dies wird auch als Gleichgraueffekt bezeichnet.

grey = ((color Modulo 256) + (([Ganzzahlquotient von color geteilt durch 256]) Modulo 256) + (([Ganzzahlquotient von color geteilt durch 256*256]) Modulo 256)) geteilt durch 3

Longtolong-Implementierung für Microsoft Excel

In Microsoft Excel wird jede Farbe mit einer Zahl vom Typ Long von 0 (schwarz) bis 16.777.215 (weiß) beschrieben. Für den Farbgraualgorithmus bedeutet das, dass aus einer farbigen Longzahl durch RGB-Spaltung der Grauwert berechnet wird (also jeweils der Rot-, Grün, und Blauanteil zwischen 0 und 255 extrahiert und daraus das arithmetische Mittelwertgrau (RGB/3) errechnet wird, das wiederum einen Wert von 0 bis 255 hat), der dann jeweils den Rot-, Grün- und Blaumischanteil darstellt und durch Rückalgorithmierung als Diagonallongzahl zurückgegeben wird.

Die vollständige Farbgraualgorithmusformel ist daher

grey = Ganzzahl(((color Modulo 256) + (([Ganzzahlquotient von color geteilt durch 256]) Modulo 256) + ([Ganzzahlquotient von color geteilt durch 256*256]) Modulo 256)) geteilt durch 3) + ((Ganzzahl((color Modulo 256) + (([Ganzzahlquotient von color geteilt durch 256]) Modulo 256) + (([Ganzzahlquotient von color geteilt durch 256*256]) Modulo 256)) geteilt durch 3) * 256) + ((Ganzzahl((color Modulo 256) + (([Ganzzahlquotient von color geteilt durch 256]) Modulo 256) + (([Ganzzahlquotient von color geteilt durch 256*256]) Modulo 256)) geteilt durch 3) * 256*256)

wobei color eine beliebige Excel-Farblongzahl von 0 bis 16.777.215 ist, der Ganzzahlquotient mit dem \-Operator und die Restwertberechnung (Modulo) mit dem Mod-Operator programmiert wird.

Die Erstanwendung in der Simulationspraxis wird für die GaloppSim-Version 149.10 (voraussichtlich Ende November 2018) erwartet.