| OpenCV 4.3.0 Open Source Computer Vision

Functions
Projection
Structure From Motion

## Functions
double | cv::sfm::depth (InputArray R, InputArray t, InputArray X)
| Returns the depth of a point transformed by a rigid transform. More...
void | cv::sfm::euclideanToHomogeneous (InputArray src, OutputArray dst)
| Converts points from Euclidean to homogeneous space. E.g., ((x,y)->(x,y,1)) More...
void | cv::sfm::homogeneousToEuclidean (InputArray src, OutputArray dst)
| Converts point coordinates from homogeneous to euclidean pixel coordinates. E.g., ((x,y,z)->(x/z, y/z)) More...
void | cv::sfm::KRtFromProjection (InputArray P, OutputArray K, OutputArray R, OutputArray t)
| Get K, R and t from projection matrix P, decompose using the RQ decomposition. More...
void | cv::sfm::projectionFromKRt (InputArray K, InputArray R, InputArray t, OutputArray P)
| Get projection matrix P from K, R and t. More...

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

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.

Reference: [96] A4.1.1 pag.579

## ◆ 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.

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.

This function estimate the projection matrix by solving the following equation: \(P = K * [R|t]\)