Solar
Public Member Functions | List of all members
SolAR::api::solver::map::ITriangulator Class Referenceabstract

Triangulates a set of 2D-2D undistorted points correspondances with known respective camera poses. UUID: 3a01b0e9-9a76-43f5-97b3-85bb6979b953 More...

#include <ITriangulator.h>

Inheritance diagram for SolAR::api::solver::map::ITriangulator:
Inheritance graph
[legend]
Collaboration diagram for SolAR::api::solver::map::ITriangulator:
Collaboration graph
[legend]

Public Member Functions

 ITriangulator ()=default
 ITriangulator default constructor.
 
virtual ~ITriangulator ()=default
 ITriangulator default destructor.
 
virtual void setCameraParameters (const SolAR::datastructure::CamCalibration &intrinsicParams, const SolAR::datastructure::CamDistortion &distorsionParams)=0
 this method is used to set intrinsic parameters and distorsion of the camera More...
 
virtual double triangulate (const std::vector< SolAR::datastructure::Point2Df > &pointsView1, const std::vector< SolAR::datastructure::Point2Df > &pointView2, const std::vector< SolAR::datastructure::DescriptorMatch > &matches, const std::pair< uint32_t, uint32_t > &working_views, const SolAR::datastructure::Transform3Df &poseView1, const SolAR::datastructure::Transform3Df &poseView2, std::vector< SRef< SolAR::datastructure::CloudPoint > > &pcloud)=0
 triangulate pairs of points 2d captured from two views with differents poses (with respect to the camera instrinsic parameters). More...
 
virtual double triangulate (const std::vector< SolAR::datastructure::Keypoint > &keypointsView1, const std::vector< SolAR::datastructure::Keypoint > &keypointsView2, const std::vector< SolAR::datastructure::DescriptorMatch > &matches, const std::pair< uint32_t, uint32_t > &working_views, const SolAR::datastructure::Transform3Df &poseView1, const SolAR::datastructure::Transform3Df &poseView2, std::vector< SRef< SolAR::datastructure::CloudPoint > > &pcloud)=0
 triangulate pairs of points 2d captured from two views with differents poses (with respect to the camera instrinsic parameters). More...
 
virtual double triangulate (const std::vector< SolAR::datastructure::Keypoint > &keypointsView1, const std::vector< SolAR::datastructure::Keypoint > &keypointsView2, const SRef< SolAR::datastructure::DescriptorBuffer > &descriptor1, const SRef< SolAR::datastructure::DescriptorBuffer > &descriptor2, const std::vector< SolAR::datastructure::DescriptorMatch > &matches, const std::pair< uint32_t, uint32_t > &working_views, const SolAR::datastructure::Transform3Df &poseView1, const SolAR::datastructure::Transform3Df &poseView2, std::vector< SRef< SolAR::datastructure::CloudPoint > > &pcloud)=0
 triangulate pairs of points 2d captured from two views with differents poses (with respect to the camera instrinsic parameters). More...
 
virtual double triangulate (SRef< SolAR::datastructure::Frame > frame1, SRef< SolAR::datastructure::Frame > frame2, const std::vector< SolAR::datastructure::DescriptorMatch > &matches, const std::pair< uint32_t, uint32_t > &working_views, std::vector< SRef< SolAR::datastructure::CloudPoint > > &pcloud, const bool &onlyDepth=false)=0
 calculating 3D cloud points by triangulating pairs of matched features or using depth information of keypoints. More...
 

Detailed Description

Triangulates a set of 2D-2D undistorted points correspondances with known respective camera poses. UUID: 3a01b0e9-9a76-43f5-97b3-85bb6979b953

Member Function Documentation

◆ setCameraParameters()

virtual void SolAR::api::solver::map::ITriangulator::setCameraParameters ( const SolAR::datastructure::CamCalibration intrinsicParams,
const SolAR::datastructure::CamDistortion distorsionParams 
)
pure virtual

this method is used to set intrinsic parameters and distorsion of the camera

Parameters
[in]intrinsicParamscamera calibration matrix parameters.
[in]distorsionParamscamera distorsion parameters.

◆ triangulate() [1/4]

virtual double SolAR::api::solver::map::ITriangulator::triangulate ( const std::vector< SolAR::datastructure::Keypoint > &  keypointsView1,
const std::vector< SolAR::datastructure::Keypoint > &  keypointsView2,
const SRef< SolAR::datastructure::DescriptorBuffer > &  descriptor1,
const SRef< SolAR::datastructure::DescriptorBuffer > &  descriptor2,
const std::vector< SolAR::datastructure::DescriptorMatch > &  matches,
const std::pair< uint32_t, uint32_t > &  working_views,
const SolAR::datastructure::Transform3Df poseView1,
const SolAR::datastructure::Transform3Df poseView2,
std::vector< SRef< SolAR::datastructure::CloudPoint > > &  pcloud 
)
pure virtual

triangulate pairs of points 2d captured from two views with differents poses (with respect to the camera instrinsic parameters).

Parameters
[in]pointsView1set of keypoints seen in view_1.
[in]pointsView2set of keypoints seen in view_2.
[in]descriptor1set of descriptors in view_1.
[in]descriptor2set of descriptors in view_2.
[in]matchesthe matches between the keypoints of the view1 and the keypoints of the view 2.
[in]working_viewsa pair representing the id of the two views
[in]poseView1Camera pose in the world coordinates system of the view_1 expressed as a Transform3D.
[in]poseView2Camera pose in the world coordinates system of the view_2 expressed as a Transform3D..
[out]pcloudSet of triangulated 3d_points.
Returns
the mean re-projection error (mean distance in pixels between the original 2D points and the projection of the reconstructed 3D points)

◆ triangulate() [2/4]

virtual double SolAR::api::solver::map::ITriangulator::triangulate ( const std::vector< SolAR::datastructure::Keypoint > &  keypointsView1,
const std::vector< SolAR::datastructure::Keypoint > &  keypointsView2,
const std::vector< SolAR::datastructure::DescriptorMatch > &  matches,
const std::pair< uint32_t, uint32_t > &  working_views,
const SolAR::datastructure::Transform3Df poseView1,
const SolAR::datastructure::Transform3Df poseView2,
std::vector< SRef< SolAR::datastructure::CloudPoint > > &  pcloud 
)
pure virtual

triangulate pairs of points 2d captured from two views with differents poses (with respect to the camera instrinsic parameters).

Parameters
[in]keypointsView1set of keypoints seen in view_1.
[in]keypointsView2set of keypoints seen in view_2.
[in]matchesthe matches between the keypoints of the view1 and the keypoints of the view 2.
[in]working_viewsa pair representing the id of the two views
[in]poseView1camera pose in the world coordinates system of the view_1 expressed as a Transform3D.
[in]poseView2camera pose in the world coordinates system of the view_2 expressed as a Transform3D..
[out]pcloudset of triangulated 3d_points.
Returns
the mean re-projection error (mean distance in pixels between the original 2D points and the projection of the reconstructed 3D points)

◆ triangulate() [3/4]

virtual double SolAR::api::solver::map::ITriangulator::triangulate ( const std::vector< SolAR::datastructure::Point2Df > &  pointsView1,
const std::vector< SolAR::datastructure::Point2Df > &  pointView2,
const std::vector< SolAR::datastructure::DescriptorMatch > &  matches,
const std::pair< uint32_t, uint32_t > &  working_views,
const SolAR::datastructure::Transform3Df poseView1,
const SolAR::datastructure::Transform3Df poseView2,
std::vector< SRef< SolAR::datastructure::CloudPoint > > &  pcloud 
)
pure virtual

triangulate pairs of points 2d captured from two views with differents poses (with respect to the camera instrinsic parameters).

Parameters
[in]pointsView1set of 2D points seen in view_1.
[in]pointsView2set of 2D points seen in view_2.
[in]matchesthe matches between the keypoints of the view1 and the keypoints of the view 2.
[in]working_viewsa pair representing the id of the two views
[in]poseView1camera pose in the world coordinates system of the view_1 expressed as a Transform3D.
[in]poseView2camera pose in the world coordinates system of the view_2 expressed as a Transform3D..
[out]pcloudset of triangulated 3d_points.
Returns
the mean re-projection error (mean distance in pixels between the original 2D points and the projection of the reconstructed 3D points)

◆ triangulate() [4/4]

virtual double SolAR::api::solver::map::ITriangulator::triangulate ( SRef< SolAR::datastructure::Frame frame1,
SRef< SolAR::datastructure::Frame frame2,
const std::vector< SolAR::datastructure::DescriptorMatch > &  matches,
const std::pair< uint32_t, uint32_t > &  working_views,
std::vector< SRef< SolAR::datastructure::CloudPoint > > &  pcloud,
const bool &  onlyDepth = false 
)
pure virtual

calculating 3D cloud points by triangulating pairs of matched features or using depth information of keypoints.

Parameters
[in]frame1the first frame.
[in]frame2the second frame.
[in]matchesthe matches between these two frames.
[in]working_viewsa pair representing the id of the two views
[out]pcloudSet of triangulated 3d_points.
[in]onlyDepthif it is true, using only depth information of keypoints for computing 3D cloud points.
Returns
the mean re-projection error (mean distance in pixels between the original 2D points and the projection of the reconstructed 3D points)

The documentation for this class was generated from the following file: