OpenCV  4.5.0
Open Source Computer Vision
Functions

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
pointsInput vector of N-dimensional points.
TInput 3x3 transformation matrix such that \(x = T*X\), where \(X\) are the points to transform and \(x\) the transformed points.
transformed_pointsOutput vector of N-dimensional transformed points.

◆ isotropicPreconditionerFromPoints()

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

#include <opencv2/sfm/conditioning.hpp>

Point conditioning (isotropic).

Parameters
pointsInput vector of N-dimensional points.
TOutput 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: [97] 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
pointsInput vector of N-dimensional points.
normalized_pointsOutput vector of the same N-dimensional points but with mean 0 and average norm \(\sqrt{2}\).
TOutput 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: [97] 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
pointsInput vector of N-dimensional points.
normalized_pointsOutput vector of the same N-dimensional points but with mean 0 and average norm \(\sqrt{2}\).
TOutput 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: [97] 4.4.4 pag.109

◆ preconditionerFromPoints()

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

#include <opencv2/sfm/conditioning.hpp>

Point conditioning (non isotropic).

Parameters
pointsInput vector of N-dimensional points.
TOutput 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: [97] 4.4.4 pag.109