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