Projection#
Detailed Description#
Function Documentation#
depth()#
double cv::sfm::depth(
InputArray R,
InputArray t,
InputArray X )
#include <opencv2/sfm/projection.hpp>
Returns the depth of a point transformed by a rigid transform.
Parameters
R— Input 3x3 rotation matrix.t— Input 3x1 translation vector.X— Input 3x1 or 4x1 vector with the 3d point.
euclideanToHomogeneous()#
void cv::sfm::euclideanToHomogeneous(
InputArray src,
OutputArray dst )
#include <opencv2/sfm/projection.hpp>
Converts points from Euclidean to homogeneous space. E.g., ((x,y)->(x,y,1))
Parameters
src— Input vector of N-dimensional points.dst— Output vector of N+1-dimensional points.
homogeneousToEuclidean()#
void cv::sfm::homogeneousToEuclidean(
InputArray src,
OutputArray dst )
#include <opencv2/sfm/projection.hpp>
Converts point coordinates from homogeneous to euclidean pixel coordinates. E.g., ((x,y,z)->(x/z, y/z))
Parameters
src— Input vector of N-dimensional points.dst— Output vector of N-1-dimensional points.
KRtFromProjection()#
void cv::sfm::KRtFromProjection(
InputArray P,
OutputArray K,
OutputArray R,
OutputArray t )
#include <opencv2/sfm/projection.hpp>
Get K, R and t from projection matrix P, decompose using the RQ decomposition.
Reference: [133] A4.1.1 pag.579
Parameters
P— Input 3x4 projection matrix.K— Output 3x3 camera matrix \(K = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\).R— Output 3x3 rotation matrix.t— Output 3x1 translation vector.
projectionFromKRt()#
void cv::sfm::projectionFromKRt(
InputArray K,
InputArray R,
InputArray t,
OutputArray P )
#include <opencv2/sfm/projection.hpp>
Get projection matrix P from K, R and t.
This function estimate the projection matrix by solving the following equation: \(P = K * [R|t]\)
Parameters
K— Input 3x3 camera matrix \(K = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\).R— Input 3x3 rotation matrix.t— Input 3x1 translation vector.P— Output 3x4 projection matrix.