opentl::math::CV Class Reference

List of all members.

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< boost::shared_ptr< 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.


Member Enumeration Documentation

Type of kernel for mean-shift: Linear, Epanechnikov, Gaussian

Enumerator:
LINEAR 
EPANECH 
GAUSS 


Member Function Documentation

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

Parameters:
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.

Parameters:
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

Parameters:
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
Returns:
0 if everything's ok, -1 if an error occured

static int opentl::math::CV::meanShiftClustering ( math::Matrix X,
std::vector< boost::shared_ptr< 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.

Parameters:
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.

Parameters:
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.

Parameters:
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
Returns:
Returns the percentage of data used in the least squares estimate.

static double opentl::math::CV::triangDLT ( math::Vector4 X,
math::Vector z,
math::Matrix Projmats 
) [static]

Calibrated multi-camera point triangulation based on the DLT algorithm.

Parameters:
X output 3D point in world coordinates
z input 2D measurements (x,y) stacked in a vector
Projmats camera (3x4) projection matrices, stacked together


Generated on Thu Jun 10 21:08:09 2010 for OpenTL by  doxygen 1.5.8