Classes | |
class | RansacSubSetIndexComparator |
RANSAC Set Comperator function for point subsets. | |
Public Types | |
Static Public Member Functions | |
static void | estimate2dAffinity (math::Matrix &P1, math::Matrix &P2, math::Transform &T) |
estimates the 2D Affinity A out of the point correspondences s.t. P2 = A*P1 | |
static void | findExtrinsicCameraParams (const math::Matrix &bodyPoints, const math::Matrix &screenPoints, const math::SquareMatrix &intrinsicMat, math::Vector3 &rotVec, math::Vector3 &traslVec, math::Vector4 *distCoeff=NULL) |
Compute Euclidean pose parameters (extrinsic camera parameters) from 3D/2D point correspondences of a calibrated camera. | |
static int | gpDLT (math::Transform &Trec, math::Matrix &X, math::Matrix &x, math::Transform &Tbar, math::SquareMatrix &K, math::Matrix *Q=NULL, math::Vector *p0=NULL, math::Matrix *P=NULL) |
computes P with the generalized projective DLT algorithm | |
static int | meanShiftClustering (math::Matrix &X, std::vector< math::Vector * > &clusters, std::vector< int > &cluster_ids, double bandWidth, MSKernelType kernelType=math::CV::GAUSS, double minNorm=0.0001, int maxIter=100, math::Vector *weights=NULL, bool bPruneNonMaxima=false) |
Mean-shift clustering algorithm. | |
static void | meanShiftOptimizer (math::Matrix &X, math::Vector &x0, math::Vector &x, double bandWidth, MSKernelType kernelType=math::CV::GAUSS, double minNorm=0.0001, int maxIter=100, math::Vector *weights=NULL, math::Matrix *traj=NULL) |
Internal Mean-shift optimizer. | |
static double | ransac2dLine (std::vector< math::Vector2 * > &inputData, std::vector< int > &idxListOfBestSamples, double delta, double desiredProbabilityForNoOutliers, double maximalOutlierPercentage, math::Vector4 &bestLineParams) |
RANdom SAmple Consensus (RANSAC) algorithm to remove outliers frome detected line segments. | |
static double | triangDLT (math::Vector4 *X, math::Vector *z, math::Matrix *Projmats) |
Calibrated multi-camera point triangulation based on the DLT algorithm. |
static void opentl::math::CV::estimate2dAffinity | ( | math::Matrix & | P1, | |
math::Matrix & | P2, | |||
math::Transform & | T | |||
) | [static] |
estimates the 2D Affinity A out of the point correspondences s.t. P2 = A*P1
P1 | homogeneous 2d point correspondences part1 (3xn) | |
P2 | homogeneous 2d point correspondences part2 (3xn) | |
T | the estimated Transformation |
static void opentl::math::CV::findExtrinsicCameraParams | ( | const math::Matrix & | bodyPoints, | |
const math::Matrix & | screenPoints, | |||
const math::SquareMatrix & | intrinsicMat, | |||
math::Vector3 & | rotVec, | |||
math::Vector3 & | traslVec, | |||
math::Vector4 * | distCoeff = NULL | |||
) | [static] |
Compute Euclidean pose parameters (extrinsic camera parameters) from 3D/2D point correspondences of a calibrated camera.
bodyPoints | The array of object points, 3xN, where N is the number of points in the view | |
screenPoints | The array of corresponding image points, 2xN or Nx2, where N is the number of points in the view | |
intrinsicMat | The camera matrix (A) [fx 0 cx; 0 fy cy; 0 0 1] | |
rotVec | The output 3x1 or 1x3 rotation vector (representation of a rotation matrix through the Rodrigues' formula). | |
traslVec | The output 3x1 or 1x3 translation vector | |
distCoeff | The vector of distortion coefficients, 4x1 or 1x4 [k1, k2, p1, p2]. If it is NULL, all distortion coefficients are considered 0's |
static int opentl::math::CV::gpDLT | ( | math::Transform & | Trec, | |
math::Matrix & | X, | |||
math::Matrix & | x, | |||
math::Transform & | Tbar, | |||
math::SquareMatrix & | K, | |||
math::Matrix * | Q = NULL , |
|||
math::Vector * | p0 = NULL , |
|||
math::Matrix * | P = NULL | |||
) | [static] |
computes P with the generalized projective DLT algorithm
Trec | return reconstructed Transformation | |
X | stacked homogeneous model points (4xN) | |
x | stacked corresponding homogeneous screen points (3xN) | |
Tbar | constant reference T matrix | |
K | intrinsic 3x3 camera matrix | |
Q | constraint matrix => used if given | |
p0 | constraint vector => used if given | |
P | if matrix is given, the 3x4 projective Matrix is returned within |
static int opentl::math::CV::meanShiftClustering | ( | math::Matrix & | X, | |
std::vector< math::Vector * > & | clusters, | |||
std::vector< int > & | cluster_ids, | |||
double | bandWidth, | |||
MSKernelType | kernelType = math::CV::GAUSS , |
|||
double | minNorm = 0.0001 , |
|||
int | maxIter = 100 , |
|||
math::Vector * | weights = NULL , |
|||
bool | bPruneNonMaxima = false | |||
) | [static] |
Mean-shift clustering algorithm.
X | Input data set (d x n), where d is the vector dimension and n the number of points | |
clusters | Output cluster centers | |
cluster_ids | Output cluster labels for each data point | |
(kernelType,bandWidth,minNorm,maxIter) | Input parameters for the mean-shift optimizer | |
weights | Weights for each sample kernel | |
bPruneNonMaxima | Flag: if non-maxima such as saddle points have to be removed (method: small perturbation of cluster centers, re-run mean-shift and check for convergence to the same center) |
static void opentl::math::CV::meanShiftOptimizer | ( | math::Matrix & | X, | |
math::Vector & | x0, | |||
math::Vector & | x, | |||
double | bandWidth, | |||
MSKernelType | kernelType = math::CV::GAUSS , |
|||
double | minNorm = 0.0001 , |
|||
int | maxIter = 100 , |
|||
math::Vector * | weights = NULL , |
|||
math::Matrix * | traj = NULL | |||
) | [static] |
Internal Mean-shift optimizer.
X | Input data set (dim x N) | |
x0 | Input start point (dim x 1) | |
x | Output estimated mode | |
kernelType | Input type of kernel (linear, Epanechnikov, Gauss) | |
bandWidth | Kernel width (h) | |
minNorm | Convergence criterion (minimum step norm) | |
maxIter | maximum number of iteration | |
traj | = (optional) output trajectory during optimization |
static double opentl::math::CV::ransac2dLine | ( | std::vector< math::Vector2 * > & | inputData, | |
std::vector< int > & | idxListOfBestSamples, | |||
double | delta, | |||
double | desiredProbabilityForNoOutliers, | |||
double | maximalOutlierPercentage, | |||
math::Vector4 & | bestLineParams | |||
) | [static] |
RANdom SAmple Consensus (RANSAC) algorithm to remove outliers frome detected line segments.
inputData | Vector of 2d points found possibly belonging to an edge | |
idxListOfBestSamples | Result of RANSAC: list of best point indices found in the input data | |
delta | Line thickness, as threshold for inliers, e.g. 0.5 | |
desiredProbabilityForNoOutliers | The probability that at least one of the selected subsets doesn't contain an outlier, e.g. 0.95 (has influence on RANSAC tries) | |
maximalOutlierPercentage | The maximal expected percentage of outliers, e.g. 0.7 ((has influence on RANSAC tries) | |
bestLineParams | Line parameters of best line: vec[0] = nx, normal of line vec[1] = ny, normal of line vec[2] = x-coordinate of sample point vec[3] = y-coordinate of sample point |
static double opentl::math::CV::triangDLT | ( | math::Vector4 * | X, | |
math::Vector * | z, | |||
math::Matrix * | Projmats | |||
) | [static] |