C# Class Accord.Imaging.RansacHomographyEstimator

RANSAC Robust Homography Matrix Estimator.

Fitting a homography using RANSAC is pretty straightforward. Being a iterative method, in a single iteration a random sample of four correspondences is selected from the given correspondence points and a homography H is then computed from those points.

The original points are then transformed using this homography and their distances to where those transforms should be is then computed and matching points can classified as inliers and non-matching points as outliers.

After a given number of iterations, the iteration which produced the largest number of inliers is then selected as the best estimation for H.

References: E. Dubrofsky. Homography Estimation. Master thesis. Available on: http://www.cs.ubc.ca/~dubroe/courses/MastersEssay.pdf

Show file Open project: accord-net/framework Class Usage Examples

Public Methods

Method Description
Estimate ( Accord points ) : MatrixH

Matches two sets of points using RANSAC.

Estimate ( Accord points1, Accord points2 ) : MatrixH

Matches two sets of points using RANSAC.

Estimate ( IntPoint points ) : MatrixH

Matches two sets of points using RANSAC.

Estimate ( IntPoint points1, IntPoint points2 ) : MatrixH

Matches two sets of points using RANSAC.

Estimate ( PointF points ) : MatrixH

Matches two sets of points using RANSAC.

Estimate ( PointF points1, PointF points2 ) : MatrixH

Matches two sets of points using RANSAC.

RansacHomographyEstimator ( double threshold, double probability ) : System

Creates a new RANSAC homography estimator.

Private Methods

Method Description
degenerate ( int points ) : bool

Checks if the selected points will result in a degenerate homography.

distance ( MatrixH H, double t ) : int[]

Compute inliers using the Symmetric Transfer Error,

homography ( int points ) : MatrixH

Estimates a homography with the given points.

Method Details

Estimate() public method

Matches two sets of points using RANSAC.
public Estimate ( Accord points ) : MatrixH
points Accord
return MatrixH

Estimate() public method

Matches two sets of points using RANSAC.
public Estimate ( Accord points1, Accord points2 ) : MatrixH
points1 Accord
points2 Accord
return MatrixH

Estimate() public method

Matches two sets of points using RANSAC.
public Estimate ( IntPoint points ) : MatrixH
points AForge.IntPoint
return MatrixH

Estimate() public method

Matches two sets of points using RANSAC.
public Estimate ( IntPoint points1, IntPoint points2 ) : MatrixH
points1 AForge.IntPoint
points2 AForge.IntPoint
return MatrixH

Estimate() public method

Matches two sets of points using RANSAC.
public Estimate ( PointF points ) : MatrixH
points System.Drawing.PointF
return MatrixH

Estimate() public method

Matches two sets of points using RANSAC.
public Estimate ( PointF points1, PointF points2 ) : MatrixH
points1 System.Drawing.PointF
points2 System.Drawing.PointF
return MatrixH

RansacHomographyEstimator() public method

Creates a new RANSAC homography estimator.
public RansacHomographyEstimator ( double threshold, double probability ) : System
threshold double Inlier threshold.
probability double Inlier probability.
return System