project_hom_point_hom_mat3d T_project_hom_point_hom_mat3d ProjectHomPointHomMat3d ProjectHomPointHomMat3d (Operator)
Name
project_hom_point_hom_mat3d T_project_hom_point_hom_mat3d ProjectHomPointHomMat3d ProjectHomPointHomMat3d
— Projizieren eines homogenen 3D-Punktes mittels einer 3×4
Projektionsmatrix.
Signatur
Herror T_project_hom_point_hom_mat3d (const Htuple HomMat3D , const Htuple Px , const Htuple Py , const Htuple Pz , const Htuple Pw , Htuple* Qx , Htuple* Qy , Htuple* Qw )
void ProjectHomPointHomMat3d (const HTuple& HomMat3D , const HTuple& Px , const HTuple& Py , const HTuple& Pz , const HTuple& Pw , HTuple* Qx , HTuple* Qy , HTuple* Qw )
HTuple HHomMat3D ::ProjectHomPointHomMat3d (const HTuple& Px , const HTuple& Py , const HTuple& Pz , const HTuple& Pw , HTuple* Qy , HTuple* Qw ) const
double HHomMat3D ::ProjectHomPointHomMat3d (double Px , double Py , double Pz , double Pw , double* Qy , double* Qw ) const
static void HOperatorSet .ProjectHomPointHomMat3d (HTuple homMat3D , HTuple px , HTuple py , HTuple pz , HTuple pw , out HTuple qx , out HTuple qy , out HTuple qw )
HTuple HHomMat3D .ProjectHomPointHomMat3d (HTuple px , HTuple py , HTuple pz , HTuple pw , out HTuple qy , out HTuple qw )
double HHomMat3D .ProjectHomPointHomMat3d (double px , double py , double pz , double pw , out double qy , out double qw )
Beschreibung
project_point_hom_mat3d project_point_hom_mat3d ProjectPointHomMat3d ProjectPointHomMat3d ProjectPointHomMat3d
wendet die 3×4 Projektionsmatrix
HomMat3D HomMat3D HomMat3D HomMat3D homMat3D
auf alle homogenen Eingabepunkte
(Px Px Px Px px
,Py Py Py Py py
,Pz Pz Pz Pz pz
,Pw Pw Pw Pw pw
) an und liefert ein
Tupel von Ergebnispunkten (Qx Qx Qx Qx qx
,Qy Qy Qy Qy qy
,Qw Qw Qw Qw qw
)
zurück. Die Transformation wird durch eine 3×4 Projektionsmatrix
beschrieben, die in HomMat3D HomMat3D HomMat3D HomMat3D homMat3D
übergeben wird. Dies
entspricht den folgenden Gleichungen (Ein- und Ausgabepunkte als
homogene Vektoren dargestellt):
Um die homogenen Koordinaten in euklidische Koordinaten zu
transformieren, muss durch Qw Qw Qw Qw qw
geteilt werden:
Dies kann direkt mit project_point_hom_mat3d project_point_hom_mat3d ProjectPointHomMat3d ProjectPointHomMat3d ProjectPointHomMat3d
erreicht
werden. Daher ist project_hom_point_hom_mat3d project_hom_point_hom_mat3d ProjectHomPointHomMat3d ProjectHomPointHomMat3d ProjectHomPointHomMat3d
hauptsächlich
in Situationen nützlich, in denen die Ergebnispunkte auf der
unendlich fernen Geraden liegen können, d.h. Qw Qw Qw Qw qw
= 0
besitzen können, und somit die obige Division nicht ausgeführt
werden kann.
Es ist zu beachten, dass, konsistent mit den Konventionen in
calibrate_cameras calibrate_cameras CalibrateCameras CalibrateCameras CalibrateCameras
, Qx Qx Qx Qx qx
der Spaltenkoordinate und
Qy Qy Qy Qy qy
der Zeilenkoordinate in einem Bild entspricht.
Ausführungsinformationen
Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
Wird ohne Parallelisierung verarbeitet.
Parameter
HomMat3D HomMat3D HomMat3D HomMat3D homMat3D
(input_control) hom_mat3d →
HHomMat3D , HTuple HTuple Htuple (real) (double ) (double ) (double )
3×4 Projektionsmatrix.
Px Px Px Px px
(input_control) number(-array) →
HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Eingabepunkt (x-Koordinate).
Py Py Py Py py
(input_control) number(-array) →
HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Eingabepunkt (y-Koordinate).
Pz Pz Pz Pz pz
(input_control) number(-array) →
HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Eingabepunkt (z-Koordinate).
Pw Pw Pw Pw pw
(input_control) number(-array) →
HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Eingabepunkt (w-Koordinate).
Qx Qx Qx Qx qx
(output_control) real(-array) →
HTuple HTuple Htuple (real) (double ) (double ) (double )
Ausgabepunkt (x-Koordinate).
Qy Qy Qy Qy qy
(output_control) real(-array) →
HTuple HTuple Htuple (real) (double ) (double ) (double )
Ausgabepunkt (y-Koordinate).
Qw Qw Qw Qw qw
(output_control) real(-array) →
HTuple HTuple Htuple (real) (double ) (double ) (double )
Ausgabepunkt (w-Koordinate).
Vorgänger
cam_par_pose_to_hom_mat3d cam_par_pose_to_hom_mat3d CamParPoseToHomMat3d CamParPoseToHomMat3d CamParPoseToHomMat3d
Alternativen
project_point_hom_mat3d project_point_hom_mat3d ProjectPointHomMat3d ProjectPointHomMat3d ProjectPointHomMat3d
,
project_3d_point project_3d_point Project3dPoint Project3dPoint Project3dPoint
Modul
Foundation