| OpenCV 4.3.0 Open Source Computer Vision

Functions
Conditioning
Structure From Motion

## Functions
void | cv::sfm::applyTransformationToPoints (InputArray points, InputArray T, OutputArray transformed_points)
| Apply Transformation to points. More...
void | cv::sfm::isotropicPreconditionerFromPoints (InputArray points, OutputArray T)
| Point conditioning (isotropic). More...
void | cv::sfm::normalizeIsotropicPoints (InputArray points, OutputArray normalized_points, OutputArray T)
| This function normalizes points. (isotropic). More...
void | cv::sfm::normalizePoints (InputArray points, OutputArray normalized_points, OutputArray T)
| This function normalizes points (non isotropic). More...
void | cv::sfm::preconditionerFromPoints (InputArray points, OutputArray T)

## Detailed Description

## Function Documentation

## ◆ applyTransformationToPoints()

void cv::sfm::applyTransformationToPoints | ( | InputArray | points,
|  | InputArray | T,
|  | OutputArray | transformed_points
| ) |  |

`#include <opencv2/sfm/conditioning.hpp>`

Apply Transformation to points.

Parameters

  points | Input vector of N-dimensional points.
  T | Input 3x3 transformation matrix such that \(x = T*X\), where \(X\) are the points to transform and \(x\) the transformed points.
  transformed_points | Output vector of N-dimensional transformed points.

## ◆ isotropicPreconditionerFromPoints()

void cv::sfm::isotropicPreconditionerFromPoints | ( | InputArray | points,
|  | OutputArray | T
| ) |  |

`#include <opencv2/sfm/conditioning.hpp>`

Point conditioning (isotropic).

Parameters

  points | Input vector of N-dimensional points.
  T | Output 3x3 transformation matrix.

Computes the transformation matrix such that each coordinate direction will be scaled equally, bringing the centroid to the origin with an average centroid \((1,1,1)^T\).
Reference: [96] 4.4.4 pag.107.

## ◆ normalizeIsotropicPoints()

void cv::sfm::normalizeIsotropicPoints | ( | InputArray | points,
|  | OutputArray | normalized_points,
|  | OutputArray | T
| ) |  |

`#include <opencv2/sfm/conditioning.hpp>`

This function normalizes points. (isotropic).

Parameters

  points | Input vector of N-dimensional points.
  normalized_points | Output vector of the same N-dimensional points but with mean 0 and average norm \(\sqrt{2}\).
  T | Output 3x3 transform matrix such that \(x = T*X\), where \(X\) are the points to normalize and \(x\) the normalized points.

Internally calls preconditionerFromPoints in order to get the scaling matrix before applying applyTransformationToPoints. This operation is an essential step before applying the DLT algorithm in order to consider the result as optimal.
Reference: [96] 4.4.4 pag.107.

## ◆ normalizePoints()

void cv::sfm::normalizePoints | ( | InputArray | points,
|  | OutputArray | normalized_points,
|  | OutputArray | T
| ) |  |

`#include <opencv2/sfm/conditioning.hpp>`

This function normalizes points (non isotropic).

Parameters

  points | Input vector of N-dimensional points.
  normalized_points | Output vector of the same N-dimensional points but with mean 0 and average norm \(\sqrt{2}\).
  T | Output 3x3 transform matrix such that \(x = T*X\), where \(X\) are the points to normalize and \(x\) the normalized points.

Internally calls preconditionerFromPoints in order to get the scaling matrix before applying applyTransformationToPoints. This operation is an essential step before applying the DLT algorithm in order to consider the result as optimal.
Reference: [96] 4.4.4 pag.109

## ◆ preconditionerFromPoints()

void cv::sfm::preconditionerFromPoints | ( | InputArray | points,
|  | OutputArray | T
| ) |  |

`#include <opencv2/sfm/conditioning.hpp>`

Point conditioning (non isotropic).

Parameters

  points | Input vector of N-dimensional points.
  T | Output 3x3 transformation matrix.

Computes the transformation matrix such that the two principal moments of the set of points are equal to unity, forming an approximately symmetric circular cloud of points of radius 1 about the origin.
Reference: [96] 4.4.4 pag.109