# Project Points

- void \*Fadas3D\_ProjectPoints\_Create(uint32\_t maxNumPts = 500, uint8\_t flags = ([PROJ\_PTS\_FLAG\_DPDR](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas3_d__calib_8h_1a341934bdc2d553bc80b5baeb10b53a41.html#_CPPv4N19FadasProjectPtsFlag18PROJ_PTS_FLAG_DPDRE) | [PROJ\_PTS\_FLAG\_DPDT](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas3_d__calib_8h_1a341934bdc2d553bc80b5baeb10b53a41.html#_CPPv4N19FadasProjectPtsFlag18PROJ_PTS_FLAG_DPDTE)))

    - Creates resources required for projection of 3D points on a 2D image.

- Parameters:

    - - **maxNumPts** – Maximum number of input points.
- **flags** – Flags that indicate which derivatives to compute.

- Returns:

    - Handle to pose estimator

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) Fadas3D\_ProjectPoints\_Update(void \*hProjPts, [FadasCameraProps\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_camera_props__t.html#_CPPv418FadasCameraProps_t) camProps, [FadasDistCoeffs\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_dist_coeffs__t.html#_CPPv417FadasDistCoeffs_t) distCoeffs, [FadasMatrixf64\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64__t.html#_CPPv416FadasMatrixf64_t) objPts)

    - Initializes and updates run-time dependent resources required for projection of 3D points on a 2D image.

- Parameters:

    - - **hProjPts** – Handle to project points.
- **camProps** – Camera calibration parameters.
- **distCoeffs** – Camera distortion coefficients.
- **objPts** – Matrix object containing 3D object points. Dimensions of the matrix must be 1 x 3N, where N is the number of points. N must not be more than maxNumPts as configured in [Fadas3D\_ProjectPoints\_Create()](https://docs.qualcomm.com/doc/80-63309-1/topic/project_points.html#group__three__d__prjpnts_1ga065e4bd7a05d045fe80d0a8ae39f0b41).

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) — Success.

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) Fadas3D\_ProjectPoints\_Destroy(void \*hProjPts)

    - Deinitializes resources allocated for project points.

- Parameters:

    - **hProjPts** – Handle to project points.

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) — Success.

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) Fadas3D\_ProjectPoints\_Run(void \*hProjPts, [FadasMatrixf64\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64__t.html#_CPPv416FadasMatrixf64_t) \*rVec, [FadasMatrixf64\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64__t.html#_CPPv416FadasMatrixf64_t) \*tVec, [FadasMatrixf64\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64__t.html#_CPPv416FadasMatrixf64_t) imgPts, [FadasMatrixf64\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64__t.html#_CPPv416FadasMatrixf64_t) \*dpdr = nullptr, [FadasMatrixf64\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64__t.html#_CPPv416FadasMatrixf64_t) \*dpdt = nullptr, [FadasMatrixf64\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64__t.html#_CPPv416FadasMatrixf64_t) \*dpdf = nullptr, [FadasMatrixf64\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64__t.html#_CPPv416FadasMatrixf64_t) \*dpdc = nullptr, [FadasMatrixf64\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64__t.html#_CPPv416FadasMatrixf64_t) \*dpdk = nullptr, [float64\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_8h_1ac55f3ae81b5bc9053760baacf57e47f4.html#_CPPv49float64_t) ar = 0.0)

    - Initializes and updates run-time dependent resources required for projection of 3D points on 2D image.

- Parameters:

    - - **hProjPts** – Handle to project points.
- **rVec** – Pointer to the matrix object containing the extrinsic rotation vector. Dimensions of the matrix must be 1 x 3.
- **tVec** – Pointer to the matrix object containing the extrinsic translation vector. Dimensions of the matrix must be 1 x 3.
- **imgPts** – Matrix object to store 2D image points. Dimensions of the matrix must be set to 1 x 2N.
- **dpdr** – Pointer to the derivative of image points with respect to components of the rotation vector. Dimensions of the matrix must be 2N x 3.
- **dpdt** – Pointer to the derivative of image points with respect to components of the translation vector. Dimensions of the matrix must be 2N x 3.
- **dpdf** – Pointer to the derivative of image points with respect to focal length. Dimensions of the matrix must be 2N x 2.
- **dpdc** – Pointer to the derivative of image points with respect to principal point coordinates. Dimensions of the matrix must be 2N x 2.
- **dpdk** – Pointer to the derivative of image points with respect to components of the camera distortion coefficients. Dimensions of the matrix must be 2N x 8.
- **ar** – Fixed aspect ratio. If this parameter is set to a nonzero value, the ratio of focal lengths (fx/fy) is assumed fixed. Used only when the [PROJ\_PTS\_FLAG\_DPDF](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas3_d__calib_8h_1a341934bdc2d553bc80b5baeb10b53a41.html#fadas3_d__calib_8h_1a341934bdc2d553bc80b5baeb10b53a41a4b8e6cd892d5dacad023d791818d3938) flag is set in [Fadas3D\_ProjectPoints\_Create()](https://docs.qualcomm.com/doc/80-63309-1/topic/project_points.html#group__three__d__prjpnts_1ga065e4bd7a05d045fe80d0a8ae39f0b41).

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) — Success.

Last Published: Sep 30, 2024

[Previous Topic
PnP](https://docs.qualcomm.com/bundle/publicresource/80-63309-1/topics/pnp.md) [Next Topic
Matrix Computations](https://docs.qualcomm.com/bundle/publicresource/80-63309-1/topics/matrix-computations.md)