| Operatoren |
linear_trans_color — Affine Transformation der Farbwerte eines mehrkanaligen Bildes.
linear_trans_color(Image : ImageTrans : TransMat : )
linear_trans_color führt eine affine Transformation der Farbwerte des mehrkanaligen Bildes Image aus und gibt das Ergebnis in ImageTrans zurück. Die affine Abbildung der Farbwerte wird durch die Transformationsmatrix TransMat beschrieben. Wenn n die Anzahl der Kanäle in Image und m die Anzahl der Kanäle in ImageTrans sind, ist TransMat eine homogene m × (n+1) Matrix, die zeilenweise abgespeichert ist. Homogen heißt, dass in der linken m × n Untermatrix von TransMat eine lineare Transformation der Farbwerte enthalten ist, während in der letzten Spalte von TransMat ein konstanter Versatz der Farbwerte beschrieben wird. Die Transformationsmatrix wird typischerweise mit gen_principal_comp_trans erzeugt. Insbesondere kann ein Bild auf seine ersten m Hauptachsen projiziert werden, indem die ersten m × (n+1) Werte der Transformation, die von gen_principal_comp_trans zurückgeliefert wird, selektiert werden. Die Transformation kann aber auch direkt spezifiziert werden. So kann eine Transformation von RGB nach YIQ, die durch folgende affine Abbildung gegeben ist
[0.299,0.587,0.114,0.0,0.599,-0.276,-0.324,127.5,0.214,-0.522,0.309,127.5]Hierbei ist zu beachten, dass die obige Transformation unnormalisiert ist, d.h. die Werte können den Bereich [0,255] verlassen. Die Transformation 'yiq' in trans_from_rgb skaliert die Zeilen der Matrix (außer dem konstanten Versatz) noch geeignet.
Um einen Verlust von Information zu vermeiden, liefert linear_trans_color als Ausgabe ein Bild vom Typ real zurück. Falls ein anderer Bildtyp gewünscht ist, kann dieser mit convert_image_type erzeugt werden.
linear_trans_color kann auf OpenCL-Geräten ausgeführt werden, sofern das Eingangsbild nicht mehr als neun Kanäle besitzt und auf ein Bild transformiert wird, das nicht mehr als drei Kanäle enthält. Da das Ergebnis mit einfacher Genauigkeit berechnet wird, kann es von dem mit der CPU berechneten Ergebnis abweichen.
Mehrkanaliges Grauwertbild.
Mehrkanaliges Ausgabebild.
Transformationsmatrix für die Farbwerte.
Sind die Parameterwerte korrekt, dann liefert linear_trans_color den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
principal_comp, trans_from_rgb, trans_to_rgb
Foundation
| Operatoren |