gamma_image — Berechnen der Gamma-Kodierung oder Gamma-Dekodierung eines Bildes.
gamma_image führt eine allgemeine Gamma-Kodierung oder
Gamma-Dekodierung des Eingabebildes Image durch und liefert
das Ergebnisbild in GammaImage zurück. Eine allgemeine
Gamma-Kodierung kann wie folgt beschrieben werden:
Hierbei ist G' der Gamma-kodierte Grauwert, G der lineare
Grauwert, , o =
Offset, m = MaxGray, t = Threshold
und s ein Faktor, der aus Gamma, Offset,
Threshold und MaxGray so berechnet wird, dass der
lineare und exponentielle Teil der Transformation stetig sind.
In analoger Weise kann eine allgemeine Gamma-Dekodierung wie folgt beschrieben werden: Hierbei haben die Variablen dieselbe Bedeutung wie bei der Gamma-Kodierung und es gilt .
So kann zum Beispiel die Gamma-Kodierung oder Gamma-Dekodierung, die
von der sRGB-Norm gefordert wird, durch Gamma = 1.0/2.4,
Offset = 0.055 und Threshold = 0.0031308
erhalten werden, während die Gamma-Kodierung oder Gamma-Dekodierung,
die von der HDTV-Videonorm gefordert wird, durch Gamma =
0.45, Offset = 0.099 und Threshold = 0.018
erhalten werden kann. In jedem Fall sollte MaxGray auf
einen Wert gesetzt werden, der zum Bildtyp von Image passt
(z.B. 255.0 für Byte-Bilder).
gamma_image kann für byte-, uint2-, und real-Bilder auf OpenCL
Geräten ausgeführt werden. Da die Operation in einfach statt wie auf der
CPU doppelt genauer Fließkommadarstellung berechnet wird, kann das Ergebnis
der OpenCL-Implementierung geringfügig von dem der CPU-Implementierung
abweichen.
Image (input_object) (multichannel-)image(-array) → object (byte* / uint2* / real*) *erlaubt für Compute Devices
Eingabebild.
GammaImage (output_object) (multichannel-)image(-array) → object (byte / uint2 / real)
Ausgabebild.
Gamma (input_control) real → (real)
Gamma-Koeffizient des exponentiellen Teils der Transformation.
Defaultwert: 0.416666666667
Wertevorschläge: 0.416666666667, 0.45
Offset (input_control) real → (real)
Versatz des exponentiellen Teils der Transformation.
Defaultwert: 0.055
Wertevorschläge: 0.055, 0.099
Threshold (input_control) real → (real)
Grauwert, für den die Transformation von linear nach exponentiell wechselt.
Defaultwert: 0.0031308
Wertevorschläge: 0.0031308, 0.018
MaxGray (input_control) number → (real / integer)
Maximaler Grauwert des Eingabebildtyps.
Defaultwert: 255.0
Wertevorschläge: 1.0, 255.0, 511.0, 1023.0, 4095.0, 16383.0, 65535.0
Encode (input_control) string → (string)
Berechnung einer Gamma-Kodierung, falls 'true', ansonsten einer Gamma-Dekodierung.
Defaultwert: 'true'
Werteliste: 'false', 'true'
sqrt_image,
exp_image,
log_image
Erik Reinhard, Erum Arif Khan, Ahmet Oguz Akyüz, Garret M. Johnson:
„Color Imaging: Fundamentals and Applications.“ A K Peters, Ltd.,
2008.
CEI/IEC 61966-2-1:1999: „Colour management -- Default RGB colour
space -- sRGB.“
ITU-R BT.709-5: „Parameter values for the HDTV standards for
production and international programme exchange.“
Foundation