project_hom_point_hom_mat3dT_project_hom_point_hom_mat3dProjectHomPointHomMat3dProjectHomPointHomMat3dproject_hom_point_hom_mat3d (Operator)

Name

project_hom_point_hom_mat3dT_project_hom_point_hom_mat3dProjectHomPointHomMat3dProjectHomPointHomMat3dproject_hom_point_hom_mat3d — Projizieren eines homogenen 3D-Punktes mittels einer 3×4 Projektionsmatrix.

Signatur

project_hom_point_hom_mat3d( : : HomMat3D, Px, Py, Pz, Pw : Qx, Qy, Qw)

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)

def project_hom_point_hom_mat3d(hom_mat_3d: Sequence[float], px: MaybeSequence[Union[float, int]], py: MaybeSequence[Union[float, int]], pz: MaybeSequence[Union[float, int]], pw: MaybeSequence[Union[float, int]]) -> Tuple[Sequence[float], Sequence[float], Sequence[float]]

def project_hom_point_hom_mat3d_s(hom_mat_3d: Sequence[float], px: MaybeSequence[Union[float, int]], py: MaybeSequence[Union[float, int]], pz: MaybeSequence[Union[float, int]], pw: MaybeSequence[Union[float, int]]) -> Tuple[float, float, float]

Beschreibung

project_point_hom_mat3dproject_point_hom_mat3dProjectPointHomMat3dProjectPointHomMat3dProjectPointHomMat3dproject_point_hom_mat3d wendet die 3×4 Projektionsmatrix HomMat3DHomMat3DHomMat3DHomMat3DhomMat3Dhom_mat_3d auf alle homogenen Eingabepunkte (PxPxPxPxpxpx,PyPyPyPypypy,PzPzPzPzpzpz,PwPwPwPwpwpw) an und liefert ein Tupel von Ergebnispunkten (QxQxQxQxqxqx,QyQyQyQyqyqy,QwQwQwQwqwqw) zurück. Die Transformation wird durch eine 3×4 Projektionsmatrix beschrieben, die in HomMat3DHomMat3DHomMat3DHomMat3DhomMat3Dhom_mat_3d ü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 QwQwQwQwqwqw geteilt werden: Dies kann direkt mit project_point_hom_mat3dproject_point_hom_mat3dProjectPointHomMat3dProjectPointHomMat3dProjectPointHomMat3dproject_point_hom_mat3d erreicht werden. Daher ist project_hom_point_hom_mat3dproject_hom_point_hom_mat3dProjectHomPointHomMat3dProjectHomPointHomMat3dProjectHomPointHomMat3dproject_hom_point_hom_mat3d hauptsächlich in Situationen nützlich, in denen die Ergebnispunkte auf der unendlich fernen Geraden liegen können, d.h. QwQwQwQwqwqw = 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_camerascalibrate_camerasCalibrateCamerasCalibrateCamerasCalibrateCamerascalibrate_cameras, QxQxQxQxqxqx der Spaltenkoordinate und QyQyQyQyqyqy der Zeilenkoordinate in einem Bild entspricht.

Ausführungsinformationen

Parameter

HomMat3DHomMat3DHomMat3DHomMat3DhomMat3Dhom_mat_3d (input_control)  hom_mat3d HHomMat3D, HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

3×4 Projektionsmatrix.

PxPxPxPxpxpx (input_control)  number(-array) HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Eingabepunkt (x-Koordinate).

PyPyPyPypypy (input_control)  number(-array) HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Eingabepunkt (y-Koordinate).

PzPzPzPzpzpz (input_control)  number(-array) HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Eingabepunkt (z-Koordinate).

PwPwPwPwpwpw (input_control)  number(-array) HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Eingabepunkt (w-Koordinate).

QxQxQxQxqxqx (output_control)  real(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Ausgabepunkt (x-Koordinate).

QyQyQyQyqyqy (output_control)  real(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Ausgabepunkt (y-Koordinate).

QwQwQwQwqwqw (output_control)  real(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Ausgabepunkt (w-Koordinate).

Vorgänger

cam_par_pose_to_hom_mat3dcam_par_pose_to_hom_mat3dCamParPoseToHomMat3dCamParPoseToHomMat3dCamParPoseToHomMat3dcam_par_pose_to_hom_mat3d

Alternativen

project_point_hom_mat3dproject_point_hom_mat3dProjectPointHomMat3dProjectPointHomMat3dProjectPointHomMat3dproject_point_hom_mat3d, project_3d_pointproject_3d_pointProject3dPointProject3dPointProject3dPointproject_3d_point

Modul

Foundation