# 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)