gen_principal_comp_transT_gen_principal_comp_transGenPrincipalCompTransGenPrincipalCompTrans (Operator)

Name

gen_principal_comp_transT_gen_principal_comp_transGenPrincipalCompTransGenPrincipalCompTrans — Berechnung der Transformationsmatrix der Hauptachsentransformation (Principal Components Analysis) von mehrkanaligen Bildern.

Signatur

gen_principal_comp_trans(MultichannelImage : : : Trans, TransInv, Mean, Cov, InfoPerComp)

Herror T_gen_principal_comp_trans(const Hobject MultichannelImage, Htuple* Trans, Htuple* TransInv, Htuple* Mean, Htuple* Cov, Htuple* InfoPerComp)

void GenPrincipalCompTrans(const HObject& MultichannelImage, HTuple* Trans, HTuple* TransInv, HTuple* Mean, HTuple* Cov, HTuple* InfoPerComp)

HTuple HImage::GenPrincipalCompTrans(HTuple* TransInv, HTuple* Mean, HTuple* Cov, HTuple* InfoPerComp) const

static void HOperatorSet.GenPrincipalCompTrans(HObject multichannelImage, out HTuple trans, out HTuple transInv, out HTuple mean, out HTuple cov, out HTuple infoPerComp)

HTuple HImage.GenPrincipalCompTrans(out HTuple transInv, out HTuple mean, out HTuple cov, out HTuple infoPerComp)

Beschreibung

gen_principal_comp_transgen_principal_comp_transGenPrincipalCompTransGenPrincipalCompTransGenPrincipalCompTrans berechnet die Transformationsmatrix für eine Hauptachsentransformation (Principal Components Analysis) von mehrkanaligen Bildern. Diese Transformation ist z.B. bei Bildern nützlich, die mit dem Thematic Mapper des Landsat Satelliten aufgenommen wurden. Da die einzelnen Kanäle zum Teil starke Korrelationen aufweisen, ist es wünschenswert, die Eingabebilder in Bilder zu transformieren, die möglichst wenig Korrelation aufweisen. Dies ist zum einen nützlich, um Speicherplatz zu sparen, da Bildkomponenten mit geringem Informationsgehalt vernachlässigt werden können, und zum anderen im Hinblick auf eine spätere Klassifikation.

Die Funktion gen_principal_comp_transgen_principal_comp_transGenPrincipalCompTransGenPrincipalCompTransGenPrincipalCompTrans nimmt ein oder mehrere Eingabebilder in MultichannelImageMultichannelImageMultichannelImageMultichannelImagemultichannelImage und berechnet die Transformationsmatrix TransTransTransTranstrans für die Hauptachsentransformation, sowie ihre Inverse TransInvTransInvTransInvTransInvtransInv. Alle Eingabebilder müssen dieselbe Anzahl von Kanälen haben. Die Hauptachsentransformation wird aus allen Bildern gemeinsam berechnet. Somit erlaubt es gen_principal_comp_transgen_principal_comp_transGenPrincipalCompTransGenPrincipalCompTransGenPrincipalCompTrans, die Statistik mehrerer Bilder auszunutzen.

Wenn n die Anzahl der Kanäle ist, sind TransTransTransTranstrans und TransInvTransInvTransInvTransInvtransInv Matrizen der Dimension n × (n+1), die eine affine Transformation der mehrkanaligen Grauwerte beschreiben. Sie können mit dem Operator linear_trans_colorlinear_trans_colorLinearTransColorLinearTransColorLinearTransColor verwendet werden, um ein mehrkanaliges Bild zu transformieren. Als Information werden in MeanMeanMeanMeanmean und CovCovCovCovcov die mittleren Grauwerte der einzelnen Kanäle sowie die n × n Kovarianzmatrix der Grauwerte zurückgegeben. In dem Ausgabeparameter InfoPerCompInfoPerCompInfoPerCompInfoPerCompinfoPerComp wird der jeweilige relative Informationsgehalt der einzelnen Komponenten zurückgegeben.

Achtung

Beachten Sie, dass Filteroperatoren eventuell unerwartete Resultate ausgeben, wenn ein Bild mit einer reduzierten Domäne als Input übergeben wird. Weitere Informationen können im Kapitel Filter gefunden werden.

Ausführungsinformationen

Parameter

MultichannelImageMultichannelImageMultichannelImageMultichannelImagemultichannelImage (input_object)  (multichannel-)image(-array) objectHImageHImageHobject (byte / direction / cyclic / int1 / int2 / uint2 / int4 / real)

Mehrkanaliges Bild.

TransTransTransTranstrans (output_control)  real-array HTupleHTupleHtuple (real) (double) (double) (double)

Transformationsmatrix zur Berechnung der PCA.

TransInvTransInvTransInvTransInvtransInv (output_control)  real-array HTupleHTupleHtuple (real) (double) (double) (double)

Transformationsmatrix zur Berechnung der inversen PCA.

MeanMeanMeanMeanmean (output_control)  real-array HTupleHTupleHtuple (real) (double) (double) (double)

Mittelwert der jeweiligen Kanäle.

CovCovCovCovcov (output_control)  real-array HTupleHTupleHtuple (real) (double) (double) (double)

Kovarianzmatrix der Kanäle.

InfoPerCompInfoPerCompInfoPerCompInfoPerCompinfoPerComp (output_control)  real-array HTupleHTupleHtuple (real) (double) (double) (double)

Informationsgehalt der transformierten Kanäle.

Ergebnis

Sind die Parameterwerte korrekt, dann liefert gen_principal_comp_transgen_principal_comp_transGenPrincipalCompTransGenPrincipalCompTransGenPrincipalCompTrans den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Nachfolger

linear_trans_colorlinear_trans_colorLinearTransColorLinearTransColorLinearTransColor

Alternativen

principal_compprincipal_compPrincipalCompPrincipalCompPrincipalComp

Modul

Foundation