# Recover Pose - void \*Fadas3D\_RecoverPose\_Create(uint32\_t maxNumPts = 1500) - Creates resources required for the recover pose. - Parameters: - **maxNumPts** – Maximum number of input 2D points. - Returns: - Handle to recover pose. - [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) Fadas3D\_RecoverPose\_Destroy(void \*hRecPose) - DeAllocate scratch buffers. - Parameters: - **hRecPose** – Handle created using [Fadas3D\_RecoverPose\_Create()](https://docs.qualcomm.com/doc/80-63309-1/topic/recover_pose.html#group__three__d__rcvrps_1gaf9a3dc8694e68e4fc1f8f5ea12305fd9). - 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\_RecoverPose\_Run(void \*hRecPose, [FadasMatrix\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrix__t.html#_CPPv413FadasMatrix_t) essentialMat, [FadasCameraProps\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_camera_props__t.html#_CPPv418FadasCameraProps_t) camProps, [FadasMatrix\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrix__t.html#_CPPv413FadasMatrix_t) ptsCam1, [FadasMatrix\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrix__t.html#_CPPv413FadasMatrix_t) ptsCam2, [FadasMatrix\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrix__t.html#_CPPv413FadasMatrix_t) outR, [FadasMatrix\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrix__t.html#_CPPv413FadasMatrix_t) outT, uint8\_t \*pMask) - Recover relative camera pose from the estimated essential matrix and 2D points. - Parameters: - - **hRecPose** – Handle for recover pose created using Fadas3D\_RecoverPose\_Create - **essentialMat** – Essential matrix. Dimensions of the matrix must be 3 x 3. - **camProps** – Camera calibration parameters. - **ptsCam1** – Matrix object containing 2D points from the first image. Dimensions of the matrix must be 1 x 2N, where N is the number of points. - **ptsCam2** – Matrix object containing 2D points from the second image. Dimensions of the matrix must be 1 x 2N. - **outR** – Output rotation matrix. Dimensions of the matrix must be 3 x 3. - **outT** – Output translation matrix. Dimensions of the matrix must be 1 x 3. - **pMask** – Pointer to the output array of N elements, every element of which is set to 0 for outliers and to 1 for the other points. Size of the buffer must be N bytes - Returns: - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) — Success - void \*Fadas3D\_RecoverPosef64\_Create(uint32\_t maxNumPts = 1500) - Same as [Fadas3D\_RecoverPose\_Create](https://docs.qualcomm.com/doc/80-63309-1/topic/recover_pose.html#group__three__d__rcvrps_1gaf9a3dc8694e68e4fc1f8f5ea12305fd9) for 64-bit floating point data. - Parameters: - **maxNumPts** – Maximum number of input 2D points. - Returns: - Handle to recover pose. - [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) Fadas3D\_RecoverPosef64\_Destroy(void \*hRecPose) - Same as [Fadas3D\_RecoverPose\_Destroy](https://docs.qualcomm.com/doc/80-63309-1/topic/recover_pose.html#group__three__d__rcvrps_1ga2a980d856bbcc2653ef0de57904666bc) for 64-bit floating point data. - Parameters: - **hRecPose** – Handle created using [Fadas3D\_RecoverPose\_Create()](https://docs.qualcomm.com/doc/80-63309-1/topic/recover_pose.html#group__three__d__rcvrps_1gaf9a3dc8694e68e4fc1f8f5ea12305fd9). - 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\_RecoverPosef64\_Run(void \*hRecPose, [FadasMatrixf64\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64__t.html#_CPPv416FadasMatrixf64_t) essentialMat, [FadasCameraProps\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_camera_props__t.html#_CPPv418FadasCameraProps_t) camProps, [FadasMatrixf64\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64__t.html#_CPPv416FadasMatrixf64_t) ptsCam1, [FadasMatrixf64\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64__t.html#_CPPv416FadasMatrixf64_t) ptsCam2, [FadasMatrixf64\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64__t.html#_CPPv416FadasMatrixf64_t) outR, [FadasMatrixf64\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64__t.html#_CPPv416FadasMatrixf64_t) outT, uint8\_t \*pMask) - Same as [Fadas3D\_RecoverPose\_Run](https://docs.qualcomm.com/doc/80-63309-1/topic/recover_pose.html#group__three__d__rcvrps_1ga8dc5b6aa369571af7a888ebc9965cf37) for 64-bit floating point data. - Parameters: - - **hRecPose** – Handle for recover pose created using Fadas3D\_RecoverPose\_Create - **essentialMat** – Essential matrix. Dimensions of the matrix must be 3 x 3. - **camProps** – Camera calibration parameters. - **ptsCam1** – Matrix object containing 2D points from the first image. Dimensions of the matrix must be 1 x 2N, where N is the number of points. - **ptsCam2** – Matrix object containing 2D points from the second image. Dimensions of the matrix must be 1 x 2N. - **outR** – Output rotation matrix. Dimensions of the matrix must be 3 x 3. - **outT** – Output translation matrix. Dimensions of the matrix must be 1 x 3. - **pMask** – Pointer to the output array of N elements, every element of which is set to 0 for outliers and to 1 for the other points. Size of the buffer must be N bytes - 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 Essential Matrix](https://docs.qualcomm.com/bundle/publicresource/80-63309-1/topics/essential_matrix.md) [Next Topic PnP](https://docs.qualcomm.com/bundle/publicresource/80-63309-1/topics/pnp.md)