Package com.irurueta.geometry.estimators
Class DLTPointCorrespondencePinholeCameraRobustEstimator
java.lang.Object
com.irurueta.geometry.estimators.PinholeCameraRobustEstimator
com.irurueta.geometry.estimators.PointCorrespondencePinholeCameraRobustEstimator
com.irurueta.geometry.estimators.DLTPointCorrespondencePinholeCameraRobustEstimator
- Direct Known Subclasses:
LMedSDLTPointCorrespondencePinholeCameraRobustEstimator,MSACDLTPointCorrespondencePinholeCameraRobustEstimator,PROMedSDLTPointCorrespondencePinholeCameraRobustEstimator,PROSACDLTPointCorrespondencePinholeCameraRobustEstimator,RANSACDLTPointCorrespondencePinholeCameraRobustEstimator
public abstract class DLTPointCorrespondencePinholeCameraRobustEstimator
extends PointCorrespondencePinholeCameraRobustEstimator
Base abstract class for algorithms to robustly find the best pinhole camera
for collections of matched 3D/2D points using DLT (Direct Linear Transform)
algorithm.
Implementations of this class should be able to detect and discard outliers
in order to find the best solution.
-
Field Summary
Fields inherited from class com.irurueta.geometry.estimators.PointCorrespondencePinholeCameraRobustEstimator
DEFAULT_NORMALIZE_SUBSET_POINT_CORRESPONDENCES, DEFAULT_ROBUST_METHOD, MIN_NUMBER_OF_POINT_CORRESPONDENCES, normalizeSubsetPointCorrespondences, points2D, points3DFields inherited from class com.irurueta.geometry.estimators.PinholeCameraRobustEstimator
confidence, covariance, DEFAULT_CONFIDENCE, DEFAULT_KEEP_COVARIANCE, DEFAULT_MAX_ITERATIONS, DEFAULT_PROGRESS_DELTA, DEFAULT_REFINE_RESULT, DEFAULT_SUGGEST_ASPECT_RATIO_ENABLED, DEFAULT_SUGGEST_CENTER_ENABLED, DEFAULT_SUGGEST_HORIZONTAL_FOCAL_LENGTH_ENABLED, DEFAULT_SUGGEST_PRINCIPAL_POINT_ENABLED, DEFAULT_SUGGEST_ROTATION_ENABLED, DEFAULT_SUGGEST_SKEWNESS_VALUE_ENABLED, DEFAULT_SUGGEST_VERTICAL_FOCAL_LENGTH_ENABLED, DEFAULT_SUGGESTED_ASPECT_RATIO_VALUE, DEFAULT_SUGGESTED_SKEWNESS_VALUE, DEFAULT_USE_FAST_REFINEMENT, inliersData, keepCovariance, listener, locked, MAX_CONFIDENCE, MAX_PROGRESS_DELTA, maxIterations, MIN_CONFIDENCE, MIN_ITERATIONS, MIN_PROGRESS_DELTA, progressDelta, refineResult, suggestAspectRatioEnabled, suggestCenterEnabled, suggestedAspectRatioValue, suggestedCenterValue, suggestedHorizontalFocalLengthValue, suggestedPrincipalPointValue, suggestedRotationValue, suggestedSkewnessValue, suggestedVerticalFocalLengthValue, suggestHorizontalFocalLengthEnabled, suggestPrincipalPointEnabled, suggestRotationEnabled, suggestSkewnessValueEnabled, suggestVerticalFocalLengthEnabled, useFastRefinement -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedConstructor.protectedConstructor with listener.protectedDLTPointCorrespondencePinholeCameraRobustEstimator(PinholeCameraRobustEstimatorListener listener, List<Point3D> points3D, List<Point2D> points2D) Constructor with listener and lists of points to be used to estimate a pinhole camera.protectedDLTPointCorrespondencePinholeCameraRobustEstimator(List<Point3D> points3D, List<Point2D> points2D) Constructor with lists of points to be used to estimate a pinhole camera. -
Method Summary
Modifier and TypeMethodDescriptioncreate()Creates a pinhole camera robust estimator based on point correspondences and using default robust estimator method.create(double[] qualityScores) Creates a pinhole camera robust estimator based on point correspondences and using provided quality scores and default robust estimator method.create(double[] qualityScores, com.irurueta.numerical.robust.RobustEstimatorMethod method) Creates a pinhole camera robust estimator based on point correspondences and using provided quality scores and robust estimator method.create(PinholeCameraRobustEstimatorListener listener) Creates a pinhole camera robust estimator based on point correspondences and using provided listener and default robust estimator method.create(PinholeCameraRobustEstimatorListener listener, double[] qualityScores) Creates a pinhole camera robust estimator based on point correspondences and using provided listener, quality scores and default robust estimator method.create(PinholeCameraRobustEstimatorListener listener, double[] qualityScores, com.irurueta.numerical.robust.RobustEstimatorMethod method) Creates a pinhole camera robust estimator based on point correspondences and using provided listener and quality scores.create(PinholeCameraRobustEstimatorListener listener, com.irurueta.numerical.robust.RobustEstimatorMethod method) Creates a pinhole camera robust estimator based on point correspondences and using provided listener.create(PinholeCameraRobustEstimatorListener listener, List<Point3D> points3D, List<Point2D> points2D) Creates a pinhole camera robust estimator based on point correspondences and using provided listener, 2D/3D points and default robust estimator method.create(PinholeCameraRobustEstimatorListener listener, List<Point3D> points3D, List<Point2D> points2D, double[] qualityScores) Creates a pinhole camera robust estimator based on point correspondences and using provided listener, 2D/3D points, quality scores and default robust estimator method.create(PinholeCameraRobustEstimatorListener listener, List<Point3D> points3D, List<Point2D> points2D, double[] qualityScores, com.irurueta.numerical.robust.RobustEstimatorMethod method) Creates a pinhole camera robust estimator based on point correspondences and using provided listener, 2D/3D points, quality scores and robust estimator method.create(PinholeCameraRobustEstimatorListener listener, List<Point3D> points3D, List<Point2D> points2D, com.irurueta.numerical.robust.RobustEstimatorMethod method) Creates a pinhole camera robust estimator based on point correspondences and using provided listener, 2D/3D points and robust estimator method.create(com.irurueta.numerical.robust.RobustEstimatorMethod method) Creates a pinhole camera robust estimator based on point correspondences and using provided robust estimator method.Creates a pinhole camera robust estimator based on point correspondences and using provided 2D/3D points and default robust estimator method.Creates a pinhole camera robust estimator based on point correspondences and using provided 2D/3D points, quality scores and default robust estimator method.create(List<Point3D> points3D, List<Point2D> points2D, double[] qualityScores, com.irurueta.numerical.robust.RobustEstimatorMethod method) Creates a pinhole camera robust estimator based on point correspondences and using provided 2D/3D points, quality scores and robust estimator method.create(List<Point3D> points3D, List<Point2D> points2D, com.irurueta.numerical.robust.RobustEstimatorMethod method) Creates a pinhole camera robust estimator based on point correspondences and using provided 2D/3D points and robust estimator method.Methods inherited from class com.irurueta.geometry.estimators.PointCorrespondencePinholeCameraRobustEstimator
attemptRefine, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, getPoints2D, getPoints3D, getQualityScores, isNormalizeSubsetPointCorrespondences, isReady, setNormalizeSubsetPointCorrespondences, setPoints, setQualityScoresMethods inherited from class com.irurueta.geometry.estimators.PinholeCameraRobustEstimator
createFromPlanesAndLines, createFromPlanesAndLines, createFromPlanesAndLines, createFromPlanesAndLines, createFromPlanesAndLines, createFromPlanesAndLines, createFromPlanesAndLines, createFromPlanesAndLines, createFromPoints, createFromPoints, createFromPoints, createFromPoints, createFromPoints, createFromPoints, createFromPoints, createFromPoints, createFromPoints, createFromPoints, createFromPoints, createFromPoints, createFromPoints, createFromPoints, createFromPoints, createFromPoints, createFromPoints, createFromPoints, createFromPoints, createFromPoints, createFromPoints, createFromPoints, createFromPoints, createFromPoints, estimate, getConfidence, getCovariance, getInliersData, getListener, getMaxIterations, getMethod, getProgressDelta, getRefinementStandardDeviation, getSuggestedAspectRatioValue, getSuggestedCenterValue, getSuggestedHorizontalFocalLengthValue, getSuggestedPrincipalPointValue, getSuggestedRotationValue, getSuggestedSkewnessValue, getSuggestedVerticalFocalLengthValue, hasSuggestions, isCovarianceKept, isFastRefinementUsed, isListenerAvailable, isLocked, isResultRefined, isSuggestAspectRatioEnabled, isSuggestCenterEnabled, isSuggestHorizontalFocalLengthEnabled, isSuggestPrincipalPointEnabled, isSuggestRotationEnabled, isSuggestSkewnessValueEnabled, isSuggestVerticalFocalLengthEnabled, setConfidence, setCovarianceKept, setFastRefinementUsed, setListener, setMaxIterations, setProgressDelta, setResultRefined, setSuggestAspectRatioEnabled, setSuggestCenterEnabled, setSuggestedAspectRatioValue, setSuggestedCenterValue, setSuggestedHorizontalFocalLengthValue, setSuggestedPrincipalPointValue, setSuggestedRotationValue, setSuggestedSkewnessValue, setSuggestedVerticalFocalLengthValue, setSuggestHorizontalFocalLengthEnabled, setSuggestPrincipalPointEnabled, setSuggestRotationEnabled, setSuggestSkewnessValueEnabled, setSuggestVerticalFocalLengthEnabled
-
Constructor Details
-
DLTPointCorrespondencePinholeCameraRobustEstimator
protected DLTPointCorrespondencePinholeCameraRobustEstimator()Constructor. -
DLTPointCorrespondencePinholeCameraRobustEstimator
protected DLTPointCorrespondencePinholeCameraRobustEstimator(List<Point3D> points3D, List<Point2D> points2D) Constructor with lists of points to be used to estimate a pinhole camera. Points in the lists located at the same position are considered to be matched. Hence, both lists must have the same size, and their size must be greater or equal than MIN_NUMBER_OF_POINT_CORRESPONDENCES (6 points).- Parameters:
points3D- list of 3D points used to estimate a pinhole camera.points2D- list of corresponding projected 2D points used to estimate a pinhole camera.- Throws:
IllegalArgumentException- if provided lists of points don't have the same size or their size is smaller than required minimum size (6 correspondences).
-
DLTPointCorrespondencePinholeCameraRobustEstimator
protected DLTPointCorrespondencePinholeCameraRobustEstimator(PinholeCameraRobustEstimatorListener listener) Constructor with listener.- Parameters:
listener- listener to be notified of events such as when estimation starts, ends or its progress significantly changes.
-
DLTPointCorrespondencePinholeCameraRobustEstimator
protected DLTPointCorrespondencePinholeCameraRobustEstimator(PinholeCameraRobustEstimatorListener listener, List<Point3D> points3D, List<Point2D> points2D) Constructor with listener and lists of points to be used to estimate a pinhole camera. Points in the lists located at the same position are considered to be matched. Hence, both lists must have the same size, and their size must be greater or equal than MIN_NUMBER_OF_POINT_CORRESPONDENCES (6 points).- Parameters:
listener- listener to be notified of events such as when estimation starts, ends or its progress significantly changes.points3D- lists of 3D points used to estimate a pinhole camera.points2D- list of corresponding projected 2D points used to estimate a pinhole camera.- Throws:
IllegalArgumentException- if provided lists of points don't have the same size or their size is smaller than required minimum size (6 correspondences).
-
-
Method Details
-
create
public static DLTPointCorrespondencePinholeCameraRobustEstimator create(com.irurueta.numerical.robust.RobustEstimatorMethod method) Creates a pinhole camera robust estimator based on point correspondences and using provided robust estimator method.- Parameters:
method- method of a robust estimator algorithm to estimate the best pinhole camera.- Returns:
- an instance of a pinhole camera robust estimator.
-
create
public static DLTPointCorrespondencePinholeCameraRobustEstimator create(List<Point3D> points3D, List<Point2D> points2D, com.irurueta.numerical.robust.RobustEstimatorMethod method) Creates a pinhole camera robust estimator based on point correspondences and using provided 2D/3D points and robust estimator method.- Parameters:
points3D- list of 3D points used to estimate a pinhole camera.points2D- list of corresponding projected 2D points used to estimate a pinhole camera.method- method of a robust estimator algorithm to estimate the best pinhole camera.- Returns:
- an instance of a pinhole camera robust estimator.
- Throws:
IllegalArgumentException- if provided lists of points don't have the same size or their size is smaller than required minimum size (6 correspondences).
-
create
public static DLTPointCorrespondencePinholeCameraRobustEstimator create(PinholeCameraRobustEstimatorListener listener, com.irurueta.numerical.robust.RobustEstimatorMethod method) Creates a pinhole camera robust estimator based on point correspondences and using provided listener.- Parameters:
listener- listener to be notified of events such as when estimation starts, ends or its progress significantly changes.method- method of a robust estimator algorithm to estimate the best pinhole camera.- Returns:
- an instance of a pinhole camera robust estimator.
-
create
public static DLTPointCorrespondencePinholeCameraRobustEstimator create(PinholeCameraRobustEstimatorListener listener, List<Point3D> points3D, List<Point2D> points2D, com.irurueta.numerical.robust.RobustEstimatorMethod method) Creates a pinhole camera robust estimator based on point correspondences and using provided listener, 2D/3D points and robust estimator method.- Parameters:
listener- listener to be notified of events such as when estimation starts, ends or its progress significantly changes.points3D- list of 3D points used to estimate a pinhole camera.points2D- list of corresponding projected 2D points used to estimate a pinhole camera.method- method of a robust estimator algorithm to estimate the best pinhole camera.- Returns:
- an instance of a pinhole camera robust estimator.
- Throws:
IllegalArgumentException- if provided lists of points don't have the same size or their size is smaller than required minimum size (6 correspondences).
-
create
public static DLTPointCorrespondencePinholeCameraRobustEstimator create(double[] qualityScores, com.irurueta.numerical.robust.RobustEstimatorMethod method) Creates a pinhole camera robust estimator based on point correspondences and using provided quality scores and robust estimator method.- Parameters:
qualityScores- quality scores corresponding to each pair of matched points.method- method of a robust estimator algorithm to estimate the best pinhole camera.- Returns:
- an instance of a pinhole camera robust estimator.
- Throws:
IllegalArgumentException- if provided quality scores length is smaller than required minimum size (6 samples).
-
create
public static DLTPointCorrespondencePinholeCameraRobustEstimator create(List<Point3D> points3D, List<Point2D> points2D, double[] qualityScores, com.irurueta.numerical.robust.RobustEstimatorMethod method) Creates a pinhole camera robust estimator based on point correspondences and using provided 2D/3D points, quality scores and robust estimator method.- Parameters:
points3D- list of 3D points used to estimate a pinhole camera.points2D- list of corresponding projected 2D points used to estimate a pinhole camera.qualityScores- quality scores corresponding to each pair of matched points.method- method of a robust estimator algorithm to estimate the best pinhole camera.- Returns:
- an instance of a pinhole camera robust estimator.
- Throws:
IllegalArgumentException- if provided lists of points and quality scores don't have the same size or their size is smaller than required minimum size (6 correspondences).
-
create
public static DLTPointCorrespondencePinholeCameraRobustEstimator create(PinholeCameraRobustEstimatorListener listener, double[] qualityScores, com.irurueta.numerical.robust.RobustEstimatorMethod method) Creates a pinhole camera robust estimator based on point correspondences and using provided listener and quality scores.- Parameters:
listener- listener to be notified of events such as when estimation starts, ends or its progress significantly changes.qualityScores- quality scores corresponding to each pair of matched points.method- method of a robust estimator algorithm to estimate the best pinhole camera.- Returns:
- an instance of a pinhole camera robust estimator.
- Throws:
IllegalArgumentException- if provided quality scores don't have the required minimum size (6 correspondences).
-
create
public static DLTPointCorrespondencePinholeCameraRobustEstimator create(PinholeCameraRobustEstimatorListener listener, List<Point3D> points3D, List<Point2D> points2D, double[] qualityScores, com.irurueta.numerical.robust.RobustEstimatorMethod method) Creates a pinhole camera robust estimator based on point correspondences and using provided listener, 2D/3D points, quality scores and robust estimator method.- Parameters:
listener- listener to be notified of events such as when estimation starts, ends or its progress significantly changes.points3D- list of 3D points used to estimate a pinhole camera.points2D- list of corresponding projected 2D points used to estimate a pinhole camera.qualityScores- quality scores corresponding to each pair of matched points.method- method of a robust estimator algorithm to estimate the best pinhole camera.- Returns:
- an instance of a pinhole camera robust estimator.
- Throws:
IllegalArgumentException- if provided lists of points and quality scores don't have the same size or their size is smaller than required minimum size (6 correspondences).
-
create
Creates a pinhole camera robust estimator based on point correspondences and using default robust estimator method.- Returns:
- an instance of a pinhole camera robust estimator.
-
create
public static DLTPointCorrespondencePinholeCameraRobustEstimator create(List<Point3D> points3D, List<Point2D> points2D) Creates a pinhole camera robust estimator based on point correspondences and using provided 2D/3D points and default robust estimator method.- Parameters:
points3D- list of 3D points used to estimate a pinhole camera.points2D- list of corresponding projected 2D points used to estimate a pinhole camera.- Returns:
- an instance of a pinhole camera robust estimator.
- Throws:
IllegalArgumentException- if provided lists of points don't have the same size or their size is smaller than required minimum size (6 correspondences).
-
create
public static DLTPointCorrespondencePinholeCameraRobustEstimator create(PinholeCameraRobustEstimatorListener listener) Creates a pinhole camera robust estimator based on point correspondences and using provided listener and default robust estimator method.- Parameters:
listener- listener to be notified of events such as when estimation starts, ends or its progress significantly changes.- Returns:
- an instance of a pinhole camera robust estimator.
-
create
public static DLTPointCorrespondencePinholeCameraRobustEstimator create(PinholeCameraRobustEstimatorListener listener, List<Point3D> points3D, List<Point2D> points2D) Creates a pinhole camera robust estimator based on point correspondences and using provided listener, 2D/3D points and default robust estimator method.- Parameters:
listener- listener to be notified of events such as when estimation starts, ends or its progress significantly changes.points3D- list of 3D points used to estimate a pinhole camera.points2D- list of corresponding projected 2D points used to estimate a pinhole camera.- Returns:
- an instance of a pinhole camera robust estimator.
- Throws:
IllegalArgumentException- if provided lists of points don't have the same size or their size is smaller than required minimum size (6 correspondences).
-
create
Creates a pinhole camera robust estimator based on point correspondences and using provided quality scores and default robust estimator method.- Parameters:
qualityScores- quality scores corresponding to each pair of matched points.- Returns:
- an instance of a pinhole camera robust estimator.
- Throws:
IllegalArgumentException- if provided quality scores length is smaller than required minimum size (6 samples).
-
create
public static DLTPointCorrespondencePinholeCameraRobustEstimator create(List<Point3D> points3D, List<Point2D> points2D, double[] qualityScores) Creates a pinhole camera robust estimator based on point correspondences and using provided 2D/3D points, quality scores and default robust estimator method.- Parameters:
points3D- list of 3D points used to estimate a pinhole camera.points2D- list of corresponding projected 2D points used to estimate a pinhole camera.qualityScores- quality scores corresponding to each pair of matched points.- Returns:
- an instance of a pinhole camera robust estimator.
- Throws:
IllegalArgumentException- if provided lists of points and quality scores don't have the same size or their size is smaller than required minimum size (6 correspondences).
-
create
public static DLTPointCorrespondencePinholeCameraRobustEstimator create(PinholeCameraRobustEstimatorListener listener, double[] qualityScores) Creates a pinhole camera robust estimator based on point correspondences and using provided listener, quality scores and default robust estimator method.- Parameters:
listener- listener to be notified of events such as when estimation starts, ends or its progress significantly changes.qualityScores- quality scores corresponding to each pair of matched points.- Returns:
- an instance of a pinhole camera robust estimator.
- Throws:
IllegalArgumentException- if provided quality scores don't have the required minimum size (6 correspondences).
-
create
public static DLTPointCorrespondencePinholeCameraRobustEstimator create(PinholeCameraRobustEstimatorListener listener, List<Point3D> points3D, List<Point2D> points2D, double[] qualityScores) Creates a pinhole camera robust estimator based on point correspondences and using provided listener, 2D/3D points, quality scores and default robust estimator method.- Parameters:
listener- listener to be notified of events such as when estimation starts, ends or its progress significantly changes.points3D- list of 3D points used to estimate a pinhole camera.points2D- list of corresponding projected 2D points used to estimate a pinhole camera.qualityScores- quality scores corresponding to each pair of matched points.- Returns:
- an instance of a pinhole camera robust estimator.
- Throws:
IllegalArgumentException- if provided lists of points and quality scores don't have the same size or their size is smaller than required minimum size (6 correspondences).
-