[−][src]Module cv_core::geom
This module contains functions to perform various geometric algorithms.
Triangulation of a point with a given camera transformation
In this problem we have a RelativeCameraPose and two Bearing.
We want to find the point of intersection from the two cameras in camera A's space.
pthe point we are trying to triangulateathe normalized keypoint on camera Abthe normalized keypoint on camera BOthe optical center of a camera@the virtual image plane
@
@
p--------b--------O
/ @
/ @
/ @
/ @
@@@@@@@a@@@@@
/
/
/
O
//! Solutions to this problem:
Translation along a bearing given one prior depth
This problem consumes a direction to translate along, a from CameraPoint,
and a to Bearing coordinate.
tthetranslationbearing vectorathefrompointbthetoepipolar pointOthe optical center@the virtual image plane
t<---a
/
/
@@@b@@@/@@@@@
| /
| /
|/
O
The from coordinate is the relative 3d coordinate in camera space before translation.
The to coordinate is just a normalized keypoint that we wish to find the optimal translation
to reproject as close as possible to.
The translation is a vector which will be scaled (multiplied) by the return value to
get the actual 3d translation to move from from to to in 3d space.
Solutions to this problem:
It is recommended to use triangulate_bearing_reproject, as it is incredibly cheap to compute.
Functions
| make_one_pose_dlt_triangulator | This solves the point triangulation problem using Algorithm 12 from "Multiple View Geometry in Computer Vision". |
| triangulate_bearing_intersection | This solves the translation along a bearing triangulation assuming that there is a perfect intersection. |
| triangulate_bearing_reproject | This solves the translation along a bearing triangulation by minimizing the reprojection error. |