project_point_hom_mat3dT_project_point_hom_mat3dProjectPointHomMat3dProjectPointHomMat3dproject_point_hom_mat3d (算子)
名称
project_point_hom_mat3dT_project_point_hom_mat3dProjectPointHomMat3dProjectPointHomMat3dproject_point_hom_mat3d — 使用 3×4 投影矩阵投影三维点。
签名
Herror T_project_point_hom_mat3d(const Htuple HomMat3D, const Htuple Px, const Htuple Py, const Htuple Pz, Htuple* Qx, Htuple* Qy)
void ProjectPointHomMat3d(const HTuple& HomMat3D, const HTuple& Px, const HTuple& Py, const HTuple& Pz, HTuple* Qx, HTuple* Qy)
HTuple HHomMat3D::ProjectPointHomMat3d(const HTuple& Px, const HTuple& Py, const HTuple& Pz, HTuple* Qy) const
double HHomMat3D::ProjectPointHomMat3d(double Px, double Py, double Pz, double* Qy) const
static void HOperatorSet.ProjectPointHomMat3d(HTuple homMat3D, HTuple px, HTuple py, HTuple pz, out HTuple qx, out HTuple qy)
HTuple HHomMat3D.ProjectPointHomMat3d(HTuple px, HTuple py, HTuple pz, out HTuple qy)
double HHomMat3D.ProjectPointHomMat3d(double px, double py, double pz, out double qy)
def project_point_hom_mat3d(hom_mat_3d: Sequence[float], px: MaybeSequence[Union[float, int]], py: MaybeSequence[Union[float, int]], pz: MaybeSequence[Union[float, int]]) -> Tuple[Sequence[float], Sequence[float]]
def project_point_hom_mat3d_s(hom_mat_3d: Sequence[float], px: MaybeSequence[Union[float, int]], py: MaybeSequence[Union[float, int]], pz: MaybeSequence[Union[float, int]]) -> Tuple[float, float]
描述
project_point_hom_mat3dproject_point_hom_mat3dProjectPointHomMat3dProjectPointHomMat3dProjectPointHomMat3dproject_point_hom_mat3d applies the 3×4 projection matrix
HomMat3DHomMat3DHomMat3DHomMat3DhomMat3Dhom_mat_3d to all input points
(PxPxPxPxpxpx,PyPyPyPypypy,PzPzPzPzpzpz) and returns an array of output
points (QxQxQxQxqxqx,QyQyQyQyqyqy). The transformation is described by
the 3×4 projection matrix given in HomMat3DHomMat3DHomMat3DHomMat3DhomMat3Dhom_mat_3d. This
corresponds to the following equations (input and output points as
homogeneous vectors):
project_point_hom_mat3dproject_point_hom_mat3dProjectPointHomMat3dProjectPointHomMat3dProjectPointHomMat3dproject_point_hom_mat3d then transforms the homogeneous
coordinates to Euclidean coordinates by dividing them by Tw:
If a point on the line at infinity (Tw = 0) is created by the
transformation, an error is returned. If this is undesired,
project_hom_point_hom_mat3dproject_hom_point_hom_mat3dProjectHomPointHomMat3dProjectHomPointHomMat3dProjectHomPointHomMat3dproject_hom_point_hom_mat3d can be used.
Note that, consistent with the conventions used by the projection in
calibrate_camerascalibrate_camerasCalibrateCamerasCalibrateCamerasCalibrateCamerascalibrate_cameras, QxQxQxQxqxqx corresponds to the column
coordinate of an image and QyQyQyQyqyqy corresponds to the row
coordinate.
执行信息
- 多线程类型:可重入(与非独占算子并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 在内部数据级别上自动并行化。
参数
HomMat3DHomMat3DHomMat3DHomMat3DhomMat3Dhom_mat_3d (输入控制) hom_mat3d → HHomMat3D, HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
3×4 projection matrix.
PxPxPxPxpxpx (输入控制) number(-array) → HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Input point (x coordinate).
PyPyPyPypypy (输入控制) number(-array) → HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Input point (y coordinate).
PzPzPzPzpzpz (输入控制) number(-array) → HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Input point (z coordinate).
QxQxQxQxqxqx (输出控制) real(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Output point (x coordinate).
QyQyQyQyqyqy (输出控制) real(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Output point (y coordinate).
可能的前趋
cam_par_pose_to_hom_mat3dcam_par_pose_to_hom_mat3dCamParPoseToHomMat3dCamParPoseToHomMat3dCamParPoseToHomMat3dcam_par_pose_to_hom_mat3d
替代
project_hom_point_hom_mat3dproject_hom_point_hom_mat3dProjectHomPointHomMat3dProjectHomPointHomMat3dProjectHomPointHomMat3dproject_hom_point_hom_mat3d,
project_3d_pointproject_3d_pointProject3dPointProject3dPointProject3dPointproject_3d_point
模块
基础