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] |
1.5.8