Package com.irurueta.geometry.estimators
Class EPnPPointCorrespondencePinholeCameraRobustEstimator
java.lang.Object
com.irurueta.geometry.estimators.PinholeCameraRobustEstimator
com.irurueta.geometry.estimators.PointCorrespondencePinholeCameraRobustEstimator
com.irurueta.geometry.estimators.EPnPPointCorrespondencePinholeCameraRobustEstimator
- Direct Known Subclasses:
LMedSEPnPPointCorrespondencePinholeCameraRobustEstimator,MSACEPnPPointCorrespondencePinholeCameraRobustEstimator,PROMedSEPnPPointCorrespondencePinholeCameraRobustEstimator,PROSACEPnPPointCorrespondencePinholeCameraRobustEstimator,RANSACEPnPPointCorrespondencePinholeCameraRobustEstimator
public abstract class EPnPPointCorrespondencePinholeCameraRobustEstimator
extends PointCorrespondencePinholeCameraRobustEstimator
Base abstract class for algorithms to robustly find the best pinhole camera
for collections of matched 3D/2D points using EPnP (Efficient
Perspective-n-Point) algorithm.
Implementations of this class should be able to detect and discard outliers
in order to find the best solution.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected PinholeCameraIntrinsicParametersIntrinsic parameters of camera to be estimated.protected booleanIndicates whether the case where a dimension 2 null-space is allowed.protected booleanIndicates whether the case where a dimension 3 null-space is allowed.protected booleanIndicates whether planar configuration is checked to determine whether point correspondences are in such configuration and find a specific solution for such case.protected doubleThreshold to determine whether 3D matched points are in a planar configuration.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.protectedEPnPPointCorrespondencePinholeCameraRobustEstimator(PinholeCameraRobustEstimatorListener listener, PinholeCameraIntrinsicParameters intrinsic) Constructor with intrinsic parameters and listener.protectedEPnPPointCorrespondencePinholeCameraRobustEstimator(PinholeCameraRobustEstimatorListener listener, PinholeCameraIntrinsicParameters intrinsic, List<Point3D> points3D, List<Point2D> points2D) Constructor with listener and lists of points to be used to estimate a pinhole camera and intrinsic parameters.protectedEPnPPointCorrespondencePinholeCameraRobustEstimator(PinholeCameraRobustEstimatorListener listener, List<Point3D> points3D, List<Point2D> points2D) Constructor with listener and lists of points to be used to estimate a pinhole camera.protectedConstructor with intrinsic parameters.protectedEPnPPointCorrespondencePinholeCameraRobustEstimator(PinholeCameraIntrinsicParameters intrinsic, List<Point3D> points3D, List<Point2D> points2D) Constructor with lists of points to be used to estimate a pinhole camera and intrinsic parameters.protectedEPnPPointCorrespondencePinholeCameraRobustEstimator(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, PinholeCameraIntrinsicParameters intrinsic) Creates a pinhole camera robust estimator based on point correspondences and using provided listener and default robust estimator method.create(PinholeCameraRobustEstimatorListener listener, PinholeCameraIntrinsicParameters intrinsic, 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, PinholeCameraIntrinsicParameters intrinsic, 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, PinholeCameraIntrinsicParameters intrinsic, com.irurueta.numerical.robust.RobustEstimatorMethod method) Creates a pinhole camera robust estimator based on point correspondences and using provided listener.create(PinholeCameraRobustEstimatorListener listener, PinholeCameraIntrinsicParameters intrinsic, 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, PinholeCameraIntrinsicParameters intrinsic, 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, PinholeCameraIntrinsicParameters intrinsic, 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, PinholeCameraIntrinsicParameters intrinsic, 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(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(PinholeCameraIntrinsicParameters intrinsic) Creates a pinhole camera robust estimator based on point correspondences and using default robust estimator method.create(PinholeCameraIntrinsicParameters intrinsic, double[] qualityScores) Creates a pinhole camera robust estimator based on point correspondences and using provided quality scores and default robust estimator method.create(PinholeCameraIntrinsicParameters intrinsic, 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(PinholeCameraIntrinsicParameters intrinsic, 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.create(PinholeCameraIntrinsicParameters intrinsic, 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.create(PinholeCameraIntrinsicParameters intrinsic, 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(PinholeCameraIntrinsicParameters intrinsic, 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.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.Gets intrinsic parameters of camera to be estimated.doubleGets threshold to determine whether 3D matched points are in a planar configuration.booleanReturns value indicating if each picked subset point correspondences are normalized to increase the accuracy of the estimation.booleanIndicates whether the case where a dimension 2 null-space is allowed.booleanIndicates whether the case where a dimension 3 null-space is allowed.booleanIndicates whether planar configuration is checked to determine whether point correspondences are in such configuration and find a specific solution for such case.booleanisReady()Indicates if estimator is ready to start the pinhole camera estimation.voidsetIntrinsic(PinholeCameraIntrinsicParameters intrinsic) Sets intrinsic parameters of camera to be estimated.voidsetNormalizeSubsetPointCorrespondences(boolean normalizeSubsetPointCorrespondences) Sets value indicating if each picked subset point correspondences are normalized to increase the accuracy of the estimation.voidsetNullspaceDimension2Allowed(boolean nullspaceDimension2Allowed) Specifies whether the case where a dimension 2 null-space is allowed.voidsetNullspaceDimension3Allowed(boolean nullspaceDimension3Allowed) Specifies whether the case where a dimension 3 null-space is allowed.voidsetPlanarConfigurationAllowed(boolean planarConfigurationAllowed) Specifies whether planar configuration is checked to determine whether point correspondences are in such configuration and find a specific solution for such case.voidsetPlanarThreshold(double planarThreshold) Sets threshold to determine whether 3D matched points are in a planar configuration.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, getPoints2D, getPoints3D, getQualityScores, 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
-
Field Details
-
intrinsic
Intrinsic parameters of camera to be estimated. -
planarConfigurationAllowed
protected boolean planarConfigurationAllowedIndicates whether planar configuration is checked to determine whether point correspondences are in such configuration and find a specific solution for such case. -
nullspaceDimension2Allowed
protected boolean nullspaceDimension2AllowedIndicates whether the case where a dimension 2 null-space is allowed. When allowed, additional constraints are taken into account to ensure equality of scales so that less point correspondences are required. Enabling this parameter is usually ok. -
nullspaceDimension3Allowed
protected boolean nullspaceDimension3AllowedIndicates whether the case where a dimension 3 null-space is allowed. When allowed, additional constraints are taken into account to ensure equality of scales so that less point correspondences are required. Enabling this parameter is usually ok although less precise than when a null-space of dimension 2 is used. -
planarThreshold
protected double planarThresholdThreshold to determine whether 3D matched points are in a planar configuration. Points are considered to be laying in a plane when the smallest singular value of their covariance matrix has a value much smaller than the largest one as many times as this value.
-
-
Constructor Details
-
EPnPPointCorrespondencePinholeCameraRobustEstimator
protected EPnPPointCorrespondencePinholeCameraRobustEstimator()Constructor. -
EPnPPointCorrespondencePinholeCameraRobustEstimator
protected EPnPPointCorrespondencePinholeCameraRobustEstimator(PinholeCameraRobustEstimatorListener listener) Constructor with listener.- Parameters:
listener- listener to be notified of events such as when estimation starts, ends or its progress significantly changes.
-
EPnPPointCorrespondencePinholeCameraRobustEstimator
protected EPnPPointCorrespondencePinholeCameraRobustEstimator(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).
-
EPnPPointCorrespondencePinholeCameraRobustEstimator
protected EPnPPointCorrespondencePinholeCameraRobustEstimator(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- 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).
-
EPnPPointCorrespondencePinholeCameraRobustEstimator
protected EPnPPointCorrespondencePinholeCameraRobustEstimator(PinholeCameraIntrinsicParameters intrinsic) Constructor with intrinsic parameters.- Parameters:
intrinsic- intrinsic parameters of camera to be estimated.
-
EPnPPointCorrespondencePinholeCameraRobustEstimator
protected EPnPPointCorrespondencePinholeCameraRobustEstimator(PinholeCameraRobustEstimatorListener listener, PinholeCameraIntrinsicParameters intrinsic) Constructor with intrinsic parameters and listener.- Parameters:
listener- listener to be notified of events such as when estimation starts, ends or its progress significantly changes.intrinsic- intrinsic parameters of camera to be estimated.
-
EPnPPointCorrespondencePinholeCameraRobustEstimator
protected EPnPPointCorrespondencePinholeCameraRobustEstimator(PinholeCameraIntrinsicParameters intrinsic, List<Point3D> points3D, List<Point2D> points2D) Constructor with lists of points to be used to estimate a pinhole camera and intrinsic parameters. 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:
intrinsic- intrinsic parameters of camera to be estimated.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).
-
EPnPPointCorrespondencePinholeCameraRobustEstimator
protected EPnPPointCorrespondencePinholeCameraRobustEstimator(PinholeCameraRobustEstimatorListener listener, PinholeCameraIntrinsicParameters intrinsic, List<Point3D> points3D, List<Point2D> points2D) Constructor with listener and lists of points to be used to estimate a pinhole camera and intrinsic parameters. 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.intrinsic- intrinsic parameters of camera to be estimated.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).
-
-
Method Details
-
isPlanarConfigurationAllowed
public boolean isPlanarConfigurationAllowed()Indicates whether planar configuration is checked to determine whether point correspondences are in such configuration and find a specific solution for such case.- Returns:
- true to allow specific solutions for planar configurations, false to always find a solution assuming the general case.
-
setPlanarConfigurationAllowed
public void setPlanarConfigurationAllowed(boolean planarConfigurationAllowed) throws LockedException Specifies whether planar configuration is checked to determine whether point correspondences are in such configuration and find a specific solution for such case.- Parameters:
planarConfigurationAllowed- true to allow specific solutions for planar configurations, false to always find a solution assuming the general case.- Throws:
LockedException- if estimator is locked.
-
isNullspaceDimension2Allowed
public boolean isNullspaceDimension2Allowed()Indicates whether the case where a dimension 2 null-space is allowed. When allowed, additional constraints are taken into account to ensure equality of scales so that less point correspondences are required. Enabling this parameter is usually ok.- Returns:
- true to allow 2-dimensional null-space, false otherwise.
-
setNullspaceDimension2Allowed
public void setNullspaceDimension2Allowed(boolean nullspaceDimension2Allowed) throws LockedException Specifies whether the case where a dimension 2 null-space is allowed. When allowed, additional constraints are taken into account to ensure equality of scales so that less point correspondences are required. Enabling this parameter is usually ok.- Parameters:
nullspaceDimension2Allowed- true to allow 2-dimensional null-space, false otherwise.- Throws:
LockedException- if estimator is locked.
-
isNullspaceDimension3Allowed
public boolean isNullspaceDimension3Allowed()Indicates whether the case where a dimension 3 null-space is allowed. When allowed, additional constraints are taken into account to ensure equality of scales so that less point correspondences are required. Enabling this parameter is usually ok although less precise than when a null-space of dimension 2 is used.- Returns:
- true to allow 3-dimensional null-space, false otherwise.
-
setNullspaceDimension3Allowed
public void setNullspaceDimension3Allowed(boolean nullspaceDimension3Allowed) throws LockedException Specifies whether the case where a dimension 3 null-space is allowed. When allowed, additional constraints are taken into account to ensure equality of scales so that less point correspondences are required. Enabling this parameter is usually ok although less precise than when a null-space of dimension 2 is used.- Parameters:
nullspaceDimension3Allowed- true to allow 3-dimensional null-space, false otherwise.- Throws:
LockedException- if estimator is locked.
-
getPlanarThreshold
public double getPlanarThreshold()Gets threshold to determine whether 3D matched points are in a planar configuration. Points are considered to be laying in a plane when the smallest singular value of their covariance matrix has a value much smaller than the largest one as many times as this value.- Returns:
- threshold to determine whether 3D matched points are in a planar configuration.
-
setPlanarThreshold
Sets threshold to determine whether 3D matched points are in a planar configuration. Points are considered to be laying in a plane when the smallest singular value of their covariance matrix has a value much smaller than the largest one as many times as this value.- Parameters:
planarThreshold- threshold to determine whether 3D matched points are in a planar configuration.- Throws:
IllegalArgumentException- if provided threshold is negative.LockedException- if estimator is locked.
-
getIntrinsic
Gets intrinsic parameters of camera to be estimated.- Returns:
- intrinsic parameters of camera to be estimated.
-
setIntrinsic
Sets intrinsic parameters of camera to be estimated.- Parameters:
intrinsic- intrinsic parameters of camera to be estimated.- Throws:
LockedException- if estimator is locked.
-
isReady
public boolean isReady()Indicates if estimator is ready to start the pinhole camera estimation. This is true when input data (i.e. lists of 2D/3D matched points) are provided and a minimum of MIN_NUMBER_OF_POINT_CORRESPONDENCES are available.- Overrides:
isReadyin classPointCorrespondencePinholeCameraRobustEstimator- Returns:
- true if estimator is ready, false otherwise.
-
isNormalizeSubsetPointCorrespondences
public boolean isNormalizeSubsetPointCorrespondences()Returns value indicating if each picked subset point correspondences are normalized to increase the accuracy of the estimation.- Overrides:
isNormalizeSubsetPointCorrespondencesin classPointCorrespondencePinholeCameraRobustEstimator- Returns:
- true if each picked subset point correspondences are normalized, false otherwise.
-
setNormalizeSubsetPointCorrespondences
public void setNormalizeSubsetPointCorrespondences(boolean normalizeSubsetPointCorrespondences) throws LockedException Sets value indicating if each picked subset point correspondences are normalized to increase the accuracy of the estimation.- Overrides:
setNormalizeSubsetPointCorrespondencesin classPointCorrespondencePinholeCameraRobustEstimator- Parameters:
normalizeSubsetPointCorrespondences- true if each picked subset point correspondences are normalized, false otherwise.- Throws:
LockedException- if robust estimator is locked because an estimation is already in progress.
-
create
public static EPnPPointCorrespondencePinholeCameraRobustEstimator 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 EPnPPointCorrespondencePinholeCameraRobustEstimator 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 EPnPPointCorrespondencePinholeCameraRobustEstimator 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 EPnPPointCorrespondencePinholeCameraRobustEstimator 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 EPnPPointCorrespondencePinholeCameraRobustEstimator 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 EPnPPointCorrespondencePinholeCameraRobustEstimator 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 EPnPPointCorrespondencePinholeCameraRobustEstimator 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 EPnPPointCorrespondencePinholeCameraRobustEstimator 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
public static EPnPPointCorrespondencePinholeCameraRobustEstimator create(PinholeCameraIntrinsicParameters intrinsic, com.irurueta.numerical.robust.RobustEstimatorMethod method) Creates a pinhole camera robust estimator based on point correspondences and using provided robust estimator method.- Parameters:
intrinsic- intrinsic parameters of camera to be estimated.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 EPnPPointCorrespondencePinholeCameraRobustEstimator create(PinholeCameraIntrinsicParameters intrinsic, 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:
intrinsic- intrinsic parameters of camera to be estimated.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 EPnPPointCorrespondencePinholeCameraRobustEstimator create(PinholeCameraRobustEstimatorListener listener, PinholeCameraIntrinsicParameters intrinsic, 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.intrinsic- intrinsic parameters of camera to be estimated.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 EPnPPointCorrespondencePinholeCameraRobustEstimator create(PinholeCameraRobustEstimatorListener listener, PinholeCameraIntrinsicParameters intrinsic, 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.intrinsic- intrinsic parameters of camera to be estimated.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 EPnPPointCorrespondencePinholeCameraRobustEstimator create(PinholeCameraIntrinsicParameters intrinsic, 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:
intrinsic- intrinsic parameters of camera to be estimated.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 EPnPPointCorrespondencePinholeCameraRobustEstimator create(PinholeCameraIntrinsicParameters intrinsic, 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:
intrinsic- intrinsic parameters of camera to be estimated.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 EPnPPointCorrespondencePinholeCameraRobustEstimator create(PinholeCameraRobustEstimatorListener listener, PinholeCameraIntrinsicParameters intrinsic, 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.intrinsic- intrinsic parameters of camera to be estimated.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 EPnPPointCorrespondencePinholeCameraRobustEstimator create(PinholeCameraRobustEstimatorListener listener, PinholeCameraIntrinsicParameters intrinsic, 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.intrinsic- intrinsic parameters of camera to be estimated.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 EPnPPointCorrespondencePinholeCameraRobustEstimator 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 EPnPPointCorrespondencePinholeCameraRobustEstimator 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 EPnPPointCorrespondencePinholeCameraRobustEstimator 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 EPnPPointCorrespondencePinholeCameraRobustEstimator 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 EPnPPointCorrespondencePinholeCameraRobustEstimator 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 EPnPPointCorrespondencePinholeCameraRobustEstimator 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).
-
create
public static EPnPPointCorrespondencePinholeCameraRobustEstimator create(PinholeCameraIntrinsicParameters intrinsic) Creates a pinhole camera robust estimator based on point correspondences and using default robust estimator method.- Parameters:
intrinsic- intrinsic parameters of camera to be estimated.- Returns:
- an instance of a pinhole camera robust estimator.
-
create
public static EPnPPointCorrespondencePinholeCameraRobustEstimator create(PinholeCameraIntrinsicParameters intrinsic, 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:
intrinsic- intrinsic parameters of camera to be estimated.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 EPnPPointCorrespondencePinholeCameraRobustEstimator create(PinholeCameraRobustEstimatorListener listener, PinholeCameraIntrinsicParameters intrinsic) 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.intrinsic- intrinsic parameters of camera to be estimated.- Returns:
- an instance of a pinhole camera robust estimator.
-
create
public static EPnPPointCorrespondencePinholeCameraRobustEstimator create(PinholeCameraRobustEstimatorListener listener, PinholeCameraIntrinsicParameters intrinsic, 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.intrinsic- intrinsic parameters of camera to be estimated.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 EPnPPointCorrespondencePinholeCameraRobustEstimator create(PinholeCameraIntrinsicParameters intrinsic, double[] qualityScores) Creates a pinhole camera robust estimator based on point correspondences and using provided quality scores and default robust estimator method.- Parameters:
intrinsic- intrinsic parameters of camera to be estimated.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 EPnPPointCorrespondencePinholeCameraRobustEstimator create(PinholeCameraIntrinsicParameters intrinsic, 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:
intrinsic- intrinsic parameters of camera to be estimated.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 EPnPPointCorrespondencePinholeCameraRobustEstimator create(PinholeCameraRobustEstimatorListener listener, PinholeCameraIntrinsicParameters intrinsic, 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.intrinsic- intrinsic parameters of camera to be estimated.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 EPnPPointCorrespondencePinholeCameraRobustEstimator create(PinholeCameraRobustEstimatorListener listener, PinholeCameraIntrinsicParameters intrinsic, 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.intrinsic- intrinsic parameters of camera to be estimated.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).
-