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