Ocean
|
This class implements to functions to determine the error or accuracy of geometric functions and their parameter. More...
Data Structures | |
class | ErrorElement |
This class implements an element storing the error between to image points. More... | |
Public Types | |
enum | ErrorDetermination { ED_INVALID , ED_UNIQUE , ED_APPROXIMATED , ED_AMBIGUOUS } |
Definition of different error determination stages. More... | |
Static Public Member Functions | |
static void | determineValidParameters (const Scalar *parameters, const size_t number, const Scalar threshold, Indices32 &validIndices) |
Determines the indices of a set of given parameter values that are below ore equal to a provided threshold. More... | |
static void | determineInvalidParameters (const Scalar *parameters, const size_t number, const Scalar threshold, Indices32 &validIndices) |
Determines the indices of a set of given parameter values that are above a provided threshold. More... | |
static Scalar | determineAverageError (const Vectors2 &firstPoints, const Vectors2 &secondPoints, Vector2 *errors=nullptr, Scalar *sqrErrors=nullptr) |
Returns the average square error between two sets of 2D positions. More... | |
static Scalar | determineAverageError (const SquareMatrix3 &firstTransformation, const Vectors2 &firstPoints, const SquareMatrix3 &secondTransformation, const Vectors2 &secondPoints) |
Returns the average square error between two sets of 2D positions. More... | |
static Scalar | determineAverageError (const Vectors3 &firstPoints, const Vectors3 &secondPoints) |
Returns the average square error between two sets of 3D positions. More... | |
static Scalar | determineError (const Vectors2 &firstPoints, const Vectors2 &secondPoints, Scalar &sqrAverageError, Scalar &sqrMinimalError, Scalar &sqrMaximalError) |
Determining the average, minimal and maximal square error between two sets of 2D positions. More... | |
static Scalar | determineError (const Vectors3 &firstPoints, const Vectors3 &secondPoints, Scalar &sqrAverageError, Scalar &sqrMinimalError, Scalar &sqrMaximalError) |
Returns the average, minimal and maximal square error between two sets of 3D positions. More... | |
static bool | posesAlmostEqual (const HomogenousMatrix4 &poseFirst, const HomogenousMatrix4 &poseSecond, const Vector3 &maxTranslationOffset=Vector3(Scalar(0.1), Scalar(0.1), Scalar(0.1)), const Scalar maxOrientationOffset=Numeric::deg2rad(15)) |
Returns whether the offsets between two given 6DOF poses are below specified thresholds. More... | |
static bool | posesAlmostEqual (const HomogenousMatrix4 &poseFirst, const HomogenousMatrix4 &poseSecond, const Vector3 &maxTranslationOffset) |
Returns whether the offsets between two given 6DOF poses are below specified thresholds. More... | |
static bool | posesAlmostEqual (const HomogenousMatrix4 &poseFirst, const HomogenousMatrix4 &poseSecond, const Scalar maxOrientationOffset) |
Returns whether the offsets between two given 6DOF poses are below specified thresholds. More... | |
static Scalar | determineCameraError (const PinholeCamera &pinholeCamera, const Vector2 *normalizedObjectPoints, const Vector2 *imagePoints, const size_t correspondences, const bool useDistortionParameters, Vector2 *errors=nullptr, Scalar *sqrErrors=nullptr) |
Determines the accuracy of the intrinsic camera matrix (and camera distortion parameters if requested). More... | |
static void | determineCameraError (const PinholeCamera &pinholeCamera, const Vector2 *normalizedObjectPoints, const Vector2 *imagePoints, const size_t correspondences, const bool useDistortionParameters, Scalar &sqrAveragePixelError, Scalar &sqrMinimalPixelError, Scalar &sqrMaximalPixelError) |
Determines the accuracy of the intrinsic camera matrix (and camera distortion parameters if requested). More... | |
template<typename TAccessorImagePoints , bool tResultingErrors, bool tResultingSqrErrors> | |
static Scalar | determineHomographyError (const SquareMatrix3 &points1_H_points0, const TAccessorImagePoints &imagePointAccessor0, const TAccessorImagePoints &imagePointAccessor1, Vector2 *errors=nullptr, Scalar *sqrErrors=nullptr) |
Determines the accuracy of a given homography for a set of corresponding image points. More... | |
static Vector2 | determinePoseError (const HomogenousMatrix4 &world_T_camera, const AnyCamera &camera, const Vector3 &objectPoint, const Vector2 &imagePoint) |
Determines the accuracy of the camera pose based on 2D/3D correspondences. More... | |
static Vector2 | determinePoseErrorIF (const HomogenousMatrix4 &flippedCamera_T_world, const AnyCamera &camera, const Vector3 &objectPoint, const Vector2 &imagePoint) |
Determines the accuracy of the camera pose based on 2D/3D correspondences. More... | |
static Vector2 | determinePoseError (const HomogenousMatrix4 &world_T_camera, const PinholeCamera &pinholeCamera, const Vector3 &objectPoint, const Vector2 &imagePoint, const bool useDistortionParameters) |
Deprecated. More... | |
static Vector2 | determinePoseErrorIF (const HomogenousMatrix4 &flippedCamera_T_world, const PinholeCamera &pinholeCamera, const Vector3 &objectPoint, const Vector2 &imagePoint, const bool useDistortionParameters) |
Deprecated. More... | |
template<typename TAccessorObjectPoints , typename TAccessorImagePoints , bool tUseBorderDistortionIfOutside, bool tResultingErrors, bool tResultingSqrErrors> | |
static Scalar | determinePoseError (const HomogenousMatrix4 &world_T_camera, const PinholeCamera &pinholeCamera, const TAccessorObjectPoints &objectPointAccessor, const TAccessorImagePoints &imagePointAccessor, const bool useDistortionParameters, const Scalar zoom=Scalar(1), Vector2 *errors=nullptr, Scalar *sqrErrors=nullptr) |
Determines the accuracy of the camera pose based on 2D/3D correspondences. More... | |
template<typename TAccessorObjectPoints , typename TAccessorImagePoints , bool tResultingErrors, bool tResultingSqrErrors> | |
static Scalar | determinePoseError (const HomogenousMatrix4 &world_T_camera, const AnyCamera &anyCamera, const TAccessorObjectPoints &objectPointAccessor, const TAccessorImagePoints &imagePointAccessor, Vector2 *errors=nullptr, Scalar *sqrErrors=nullptr) |
Determines the accuracy of the camera pose based on 2D/3D correspondences. More... | |
template<typename TAccessorObjectPoints , typename TAccessorImagePoints , bool tUseBorderDistortionIfOutside, bool tResultingErrors, bool tResultingSqrErrors> | |
static Scalar | determinePoseErrorIF (const HomogenousMatrix4 &flippedCamera_T_world, const PinholeCamera &pinholeCamera, const TAccessorObjectPoints &objectPointAccessor, const TAccessorImagePoints &imagePointAccessor, const bool useDistortionParameters, const Scalar zoom=Scalar(1), Vector2 *errors=nullptr, Scalar *sqrErrors=nullptr) |
Determines the accuracy of the camera pose based on 2D/3D correspondences. More... | |
template<typename TAccessorObjectPoints , typename TAccessorImagePoints , bool tResultingErrors, bool tResultingSqrErrors> | |
static Scalar | determinePoseErrorIF (const HomogenousMatrix4 &flippedCamera_T_world, const AnyCamera &anyCamera, const TAccessorObjectPoints &objectPointAccessor, const TAccessorImagePoints &imagePointAccessor, Vector2 *errors=nullptr, Scalar *sqrErrors=nullptr) |
Determines the accuracy of the camera pose based on 2D/3D correspondences. More... | |
template<typename TAccessorObjectPoints , typename TAccessorImagePoints , bool tOnlyFrontObjectPoints> | |
static bool | determinePoseError (const HomogenousMatrix4 &world_T_camera, const AnyCamera &camera, const TAccessorObjectPoints &objectPointAccessor, const TAccessorImagePoints &imagePointAccessor, Scalar &sqrAveragePixelError, Scalar &sqrMinimalPixelError, Scalar &sqrMaximalPixelError) |
Determines the accuracy of a camera pose in combination with the corresponding camera profile. More... | |
template<typename TAccessorObjectPoints , typename TAccessorImagePoints > | |
static void | determinePoseError (const HomogenousMatrix4 &world_T_camera, const AnyCamera &camera, const TAccessorObjectPoints &objectPointAccessor, const TAccessorImagePoints &imagePointAccessor, Scalar &sqrAveragePixelError, Scalar &sqrMinimalPixelError, Scalar &sqrMaximalPixelError) |
Deprecated. More... | |
template<typename TAccessorObjectPoints , typename TAccessorImagePoints , bool tUseBorderDistortionIfOutside> | |
static void | determinePoseError (const HomogenousMatrix4 &world_T_camera, const PinholeCamera &pinholeCamera, const TAccessorObjectPoints &objectPointAccessor, const TAccessorImagePoints &imagePointAccessor, const bool useDistortionParameters, Scalar &sqrAveragePixelError, Scalar &sqrMinimalPixelError, Scalar &sqrMaximalPixelError, const Scalar zoom=Scalar(1)) |
Determines the accuracy of the extrinsic and intrinsic camera matrix (and camera distortion if requested). More... | |
template<typename TAccessorObjectPoints , typename TAccessorImagePoints , bool tOnlyFrontObjectPoints> | |
static bool | determinePoseErrorIF (const HomogenousMatrix4 &flippedCamera_T_world, const AnyCamera &camera, const TAccessorObjectPoints &objectPointAccessor, const TAccessorImagePoints &imagePointAccessor, Scalar &sqrAveragePixelError, Scalar &sqrMinimalPixelError, Scalar &sqrMaximalPixelError) |
Determines the accuracy of a camera pose in combination with the corresponding camera profile. More... | |
template<typename TAccessorObjectPoints , typename TAccessorImagePoints > | |
static void | determinePoseErrorIF (const HomogenousMatrix4 &flippedCamera_T_world, const AnyCamera &camera, const TAccessorObjectPoints &objectPointAccessor, const TAccessorImagePoints &imagePointAccessor, Scalar &sqrAveragePixelError, Scalar &sqrMinimalPixelError, Scalar &sqrMaximalPixelError) |
Deprecated. More... | |
template<typename TAccessorObjectPoints , typename TAccessorImagePoints , bool tUseBorderDistortionIfOutside> | |
static void | determinePoseErrorIF (const HomogenousMatrix4 &flippedCamera_T_world, const PinholeCamera &pinholeCamera, const TAccessorObjectPoints &objectPointAccessor, const TAccessorImagePoints &imagePointAccessor, const bool useDistortionParameters, Scalar &sqrAveragePixelError, Scalar &sqrMinimalPixelError, Scalar &sqrMaximalPixelError, const Scalar zoom=Scalar(1)) |
Determines the accuracy of the extrinsic and intrinsic camera matrix (and camera distortion if requested). More... | |
template<Estimator::EstimatorType tEstimator> | |
static Scalar | averagedRobustErrorInPointCloud (const Vector2 *imagePoints, const size_t numberImagePoints, const size_t validImagePoints, const Vector2 *candidatePoints, const size_t numberCandidatePoints, const ErrorDetermination errorDetermination, IndexPairs32 *correspondences=nullptr) |
Determines the unique robust minimal average square error between two 2D points clouds. More... | |
template<Estimator::EstimatorType tEstimator> | |
static Scalar | uniqueAveragedRobustErrorInPointCloud (const Vector2 *imagePoints, const size_t numberImagePoints, const size_t validImagePoints, const Vector2 *candidatePoints, const size_t numberCandidatePoints, IndexPairs32 *correspondences=nullptr) |
Determines the unique robust minimal average square error between two 2D points clouds. More... | |
template<Estimator::EstimatorType tEstimator> | |
static Scalar | approximatedAveragedRobustErrorInPointCloud (const Vector2 *imagePoints, const size_t numberImagePoints, const size_t validImagePoints, const Vector2 *candidatePoints, const size_t numberCandidatePoints, IndexPairs32 *correspondences=nullptr) |
Determines the approximated robust minimal average square error between two 2D points clouds. More... | |
template<Estimator::EstimatorType tEstimator> | |
static Scalar | ambiguousAveragedRobustErrorInPointCloud (const Vector2 *imagePoints, const size_t numberImagePoints, const size_t validImagePoints, const Vector2 *candidatePoints, const size_t numberCandidatePoints, IndexPairs32 *correspondences=nullptr) |
Determines the ambiguous robust minimal average square error between two 2D points clouds. More... | |
template<Estimator::EstimatorType tEstimator> | |
static Scalar | averagedRobustError (const Scalar *sqrErrors, const size_t number, const Scalar *explicitWeights=nullptr) |
Returns the averaged robust error for a given set of error values using a defined estimator. More... | |
static Scalar | averagedRobustError (const Scalar *sqrErrors, const size_t number, const Estimator::EstimatorType estimator, const Scalar *explicitWeights=nullptr) |
Returns the averaged robust error for a given set of error values using a defined estimator. More... | |
template<Estimator::EstimatorType tEstimator> | |
static Scalar | averagedRobustError (const Scalar *sqrErrors, const unsigned int *indices, const size_t numberIndices, const Scalar *explicitWeights=nullptr) |
Returns the averaged robust error for a given set of error values using a defined estimator. More... | |
static Scalar | averagedRobustError (const Scalar *sqrErrors, const unsigned int *indices, const size_t numberIndices, const Estimator::EstimatorType estimator, const Scalar *explicitWeights=nullptr) |
Returns the averaged robust error for a given set of error values using a defined estimator. More... | |
Private Types | |
typedef std::vector< ErrorElement > | ErrorElements |
Definition of a vector holding error elements. More... | |
This class implements to functions to determine the error or accuracy of geometric functions and their parameter.
|
private |
Definition of a vector holding error elements.
|
static |
Determines the ambiguous robust minimal average square error between two 2D points clouds.
The given point clouds may not have the same size, and therefore the point order does not define any correspondences.
However, the number of given image points must be smaller or equal to the number of given candidate points.
The minimal error is found by determining the absolute minimal error between image points and candidate points.
Beware: Candidate points already used may be used for any further correspondences also making ambiguous correspondences.
Thus, in a worst case all points may be assigned to one unique candidate point.
imagePoints | Image points to determine the minimal errors for, must be valid |
numberImagePoints | Number of given image points, with range [1, numberCandidatePoints] |
validImagePoints | The number of image points which can be expected to have a unique corresponding point inside the candidate set, with range [1, numberImagePoints] |
candidatePoints | Possible candidate image points to be used for finding the minimal error, must be valid |
numberCandidatePoints | Number of given candidate points, with range [1, infinity) |
correspondences | Optional resulting point correspondences, for each index of an image point one corresponding candidate point index will be returned |
tEstimator | Estimator type to be applied |
|
static |
Determines the approximated robust minimal average square error between two 2D points clouds.
The given point clouds may not have the same size, and therefore the point order does not define any correspondences.
However, the number of given image points must be smaller or equal to the number of given candidate points.
The minimal error is found by determining the approximated absolute minimal error between image points and candidate points.
Candidate points already used will not be used for any further correspondences creating unique correspondences.
Instead of using a brute force method this function flags already used candidate points to avoid the second usage, however the result may not be the global optimum.
imagePoints | Image points to determine the minimal errors for, must be valid |
numberImagePoints | Number of given image points, with range [1, numberCandidatePoints] |
validImagePoints | The number of image points which can be expected to have a unique corresponding point inside the candidate set, with range [1, numberImagePoints] |
candidatePoints | Possible candidate image points to be used for finding the minimal error, must be valid |
numberCandidatePoints | Number of given candidate points, with range [1, infinity) |
correspondences | Optional resulting point correspondences, for each index of an image point one corresponding candidate point index will be returned |
tEstimator | Estimator type to be applied |
|
inlinestatic |
Returns the averaged robust error for a given set of error values using a defined estimator.
sqrErrors | Specified squared error values to return the averaged error for |
number | The number of given error values |
estimator | Robust estimator to be used for error calculation |
explicitWeights | Optional additional weight values individual for each error to be applied to the resulting average robust error only |
|
static |
Returns the averaged robust error for a given set of error values using a defined estimator.
sqrErrors | Specified squared error values to return the averaged error for |
number | The number of given error values |
explicitWeights | Optional additional weight values individual for each error to be applied to the resulting average robust error only |
tEstimator | Robust estimator to be used for error calculation |
|
inlinestatic |
Returns the averaged robust error for a given set of error values using a defined estimator.
Not all error values are used but those defined as indices.
sqrErrors | Specified squared error values to return the summed error for |
indices | Indices of the given error values to be used for error calculation |
numberIndices | Number of given indices |
estimator | Robust estimator to be used for error calculation |
explicitWeights | Optional additional weight values individual for each error to be applied to the resulting average robust error only |
|
static |
Returns the averaged robust error for a given set of error values using a defined estimator.
Not all error values are used but those defined as indices.
sqrErrors | Specified squared error values to return the summed error for |
indices | Indices of the given error values to be used for error calculation |
numberIndices | Number of given indices |
explicitWeights | Optional additional weight values individual for each error to be applied to the resulting average robust error only |
tEstimator | Robust estimator to be used for error calculation |
|
static |
Determines the unique robust minimal average square error between two 2D points clouds.
This function calls uniqueAveragedRobustErrorInPointCloud() or ambiguousAveragedRobustErrorInPointCloud() depending on the uniqueCorrespondences parameter.
imagePoints | Image points to determine the minimal errors for, must be valid |
numberImagePoints | Number of given image points, with range [1, numberCandidatePoints] |
validImagePoints | The number of image points which can be expected to have a unique corresponding point inside the candidate set, with range [1, numberImagePoints] |
candidatePoints | Possible candidate image points to be used for finding the minimal error, must be valid |
numberCandidatePoints | Number of given candidate points, with range [1, infinity) |
errorDetermination | Depending on this flag uniqueAveragedRobustErrorInPointCloud, approximatedAveragedRobustErrorInPointCloud() or ambiguousAveragedRobustErrorInPointCloud() will be used |
correspondences | Optional resulting point correspondences, for each index of an image point one corresponding candidate point index will be returned |
tEstimator | Estimator type to be applied |
|
static |
Returns the average square error between two sets of 2D positions.
Each point in the first point set correspond to a point in the second point set with same index.
firstTransformation | Transformation that will be applied for all image points from the first set |
firstPoints | First set of 2D points, each point has a corresponding point in the second set |
secondTransformation | Transformation that will be applied for all image points from the second set |
secondPoints | Second set of 2D points |
|
static |
Returns the average square error between two sets of 2D positions.
Each point in the first point set correspond to a point in the second point set with same index.
firstPoints | First set of 2D points, each point has a corresponding point in the second set |
secondPoints | Second set of 2D points |
errors | Optional resulting errors individual for each provided point pair, make sure that the provided buffer is large enough |
sqrErrors | Optional resulting squared errors individual for each provided point pair, make sure that the provided buffer is large enough |
|
static |
Returns the average square error between two sets of 3D positions.
Each point in the first point set correspond to a point in the second point set with same index.
firstPoints | First set of 3D points, each point has a corresponding point in the second set |
secondPoints | Second set of 3D points |
|
static |
Determines the accuracy of the intrinsic camera matrix (and camera distortion parameters if requested).
The accuracy is determined by transforming the normalized 3D image points (3D object points transformed by the flipped and inverted extrinsic matrix) to the image plane.
pinholeCamera | The pinhole camera object to be tested |
normalizedObjectPoints | Normalized object points |
imagePoints | Image points, each point corresponds to one normalized object point |
correspondences | Number of correspondences to be checked |
useDistortionParameters | True, to respect the distortion parameters of the given camera during object point projection |
sqrAveragePixelError | Average square projection pixel error |
sqrMinimalPixelError | Minimal square projection pixel error |
sqrMaximalPixelError | Maximal square projection pixel error |
|
static |
Determines the accuracy of the intrinsic camera matrix (and camera distortion parameters if requested).
The accuracy is determined by transforming the normalized 3D image points (3D object points transformed by the flipped and inverted extrinsic matrix) to the image plane.
pinholeCamera | The pinhole camera object to be tested |
normalizedObjectPoints | Normalized object points |
imagePoints | Image points, each point corresponds to one normalized object point |
correspondences | Number of correspondences to be checked |
useDistortionParameters | True, to respect the distortion parameters of the given camera during object point projection |
errors | Optional resulting error values individually for each given point correspondence |
sqrErrors | Optional resulting squared error values individually for each given point correspondence |
|
static |
Determining the average, minimal and maximal square error between two sets of 2D positions.
Each point in the first point set correspond to a point in the second point set with same index.
firstPoints | First set of 2D points, each point has a corresponding point in the second set |
secondPoints | Second set of 2D points |
sqrAverageError | Average square error of all point correspondences |
sqrMinimalError | Minimal square error of all point correspondences |
sqrMaximalError | Maximal square error of all point correspondences |
|
static |
Returns the average, minimal and maximal square error between two sets of 3D positions.
Each point in the first point set correspond to a point in the second point set with same index.
firstPoints | First set of 3D points, each point has a corresponding point in the second set |
secondPoints | Second set of 3D points |
sqrAverageError | Average square error of all point correspondences |
sqrMinimalError | Minimal square error of all point correspondences |
sqrMaximalError | Maximal square error of all point correspondences |
|
static |
Determines the accuracy of a given homography for a set of corresponding image points.
The given homography H transforms a point p0 from the first set of image points to the corresponding point p1 from the second set of image points: p1 = H * p0 In case, a transformed point cannot be normalized (de-homogenized) by the z-component, the individual errors will be set to Numeric::maxValue() and the resulting average error will be accordingly.
points1_H_points0 | The homography transforming points0 to points1, must be valid |
imagePointAccessor0 | The first set of image points, may be empty |
imagePointAccessor1 | The second set of image points, each point has a corresponding point in the first set |
errors | Optional resulting error values individually for each given point correspondence |
sqrErrors | Optional resulting squared error values individually for each given point correspondence |
TAccessorImagePoints | The template type of the accessor for the image points |
tResultingErrors | True, if errors is defined |
tResultingSqrErrors | True, if sqrErrors is defined |
|
static |
Determines the indices of a set of given parameter values that are above a provided threshold.
parameters | Parameter values that have to be investigated |
number | The number of provided values, with range [1, infinity) |
threshold | The threshold that is used to filter the parameter values |
validIndices | Resulting indices of the provided parameter values that are above the specified threshold |
|
inlinestatic |
Determines the accuracy of the camera pose based on 2D/3D correspondences.
The accuracy is determined based on the projection errors between projected 3D points and their corresponding 2D image points.
world_T_camera | The camera pose, transforming camera to world, must be valid |
anyCamera | The camera profile defining the projection, must be valid |
objectPointAccessor | The accessor providing the 3D object points corresponding to the given pose |
imagePointAccessor | The accessor providing the 2D image points corresponding to the image points, one image point for each object point |
errors | Optional resulting error values individually for each given point correspondence |
sqrErrors | Optional resulting squared error values individually for each given point correspondence |
TAccessorObjectPoints | The template type of the accessor for the object points |
TAccessorImagePoints | The template type of the accessor for the image points |
tResultingErrors | True, if errors is defined |
tResultingSqrErrors | True, if sqrErrors is defined |
|
inlinestatic |
Determines the accuracy of a camera pose in combination with the corresponding camera profile.
The accuracy is determined by transforming the given 3D object points using the extrinsic camera parameter and projecting these points onto the image plane.
world_T_camera | The camera pose, transforming camera to world, with default camera pointing towards the negative z-space, with y-axis upwards, must be valid |
camera | The camera profile defining the projection, must be valid |
objectPointAccessor | Accessor providing the 3D object points corresponding to the given pose |
imagePointAccessor | Accessor providing the 2D image points corresponding to the image points |
sqrAveragePixelError | Average square projection pixel error |
sqrMinimalPixelError | Minimal square projection pixel error |
sqrMaximalPixelError | Maximal square projection pixel error |
TAccessorObjectPoints | The template type of the accessor for the object points |
TAccessorImagePoints | The template type of the accessor for the image points |
tOnlyFrontObjectPoints | True, to fail in case a 3D object point is not in front of the camera; False, to ignore whether 3D object points are in front of behind the camera |
|
inlinestatic |
Deprecated.
Determines the accuracy of a camera pose in combination with the corresponding camera profile. The accuracy is determined by transforming the given 3D object points using the extrinsic camera parameter and projecting these points onto the image plane.
world_T_camera | The camera pose, transforming camera to world, with default camera pointing towards the negative z-space, with y-axis upwards, must be valid |
camera | The camera profile defining the projection, must be valid |
objectPointAccessor | Accessor providing the 3D object points corresponding to the given pose |
imagePointAccessor | Accessor providing the 2D image points corresponding to the image points |
sqrAveragePixelError | Average square projection pixel error |
sqrMinimalPixelError | Minimal square projection pixel error |
sqrMaximalPixelError | Maximal square projection pixel error |
TAccessorObjectPoints | The template type of the accessor for the object points |
TAccessorImagePoints | The template type of the accessor for the image points |
|
inlinestatic |
Determines the accuracy of the camera pose based on 2D/3D correspondences.
The accuracy is determined based on the projection errors between projected 3D points and their corresponding 2D image points.
world_T_camera | The camera pose transforming camera to world, with default camera pointing towards the negative z-space, with y-axis upwards, must be valid |
camera | The camera model defining the projection, must be valid |
objectPoint | The 3D Object point, defined in world |
imagePoint | The 2D image point corresponding to the object point, defined in the camera pixel domain |
|
inlinestatic |
Determines the accuracy of the camera pose based on 2D/3D correspondences.
The accuracy is determined based on the projection errors between projected 3D points and their corresponding 2D image points.
world_T_camera | The camera pose transforming camera to world, must be valid |
pinholeCamera | The pinhole camera model defining the projection, must be valid |
objectPointAccessor | The accessor providing the 3D object points defined in world |
imagePointAccessor | The accessor providing the 2D image points corresponding to the image points, one image point for each object point |
useDistortionParameters | True, to respect the distortion parameters of the given camera during object point projection |
zoom | The zoom factor of the camera, with range (0, infinity), with 1 the default zoom factor |
errors | Optional resulting error values individually for each given point correspondence |
sqrErrors | Optional resulting squared error values individually for each given point correspondence |
TAccessorObjectPoints | The template type of the accessor for the object points |
TAccessorImagePoints | The template type of the accessor for the image points |
tUseBorderDistortionIfOutside | True, to apply the camera distortion from the nearest point lying on the frame border if the point lies outside the visible camera area; False, to apply the distortion from the given position |
tResultingErrors | True, if errors is defined |
tResultingSqrErrors | True, if sqrErrors is defined |
|
inlinestatic |
Determines the accuracy of the extrinsic and intrinsic camera matrix (and camera distortion if requested).
The accuracy is determined by transforming the given 3D object points using the extrinsic camera parameter and projecting these points onto the image plane.
world_T_camera | The camera pose, transforming camera to world, must be valid |
pinholeCamera | The pinhole camera specifying the internal camera parameters and optionally distortion |
objectPointAccessor | Accessor providing the 3D object points corresponding to the given pose |
imagePointAccessor | Accessor providing the 2D image points corresponding to the image points |
useDistortionParameters | True, to respect the distortion parameters of the given camera during object point projection |
sqrAveragePixelError | Average square projection pixel error |
sqrMinimalPixelError | Minimal square projection pixel error |
sqrMaximalPixelError | Maximal square projection pixel error |
zoom | The zoom factor of the camera, with range (0, infinity), with 1 the default zoom factor |
TAccessorObjectPoints | The template type of the accessor for the object points |
TAccessorImagePoints | The template type of the accessor for the image points |
tUseBorderDistortionIfOutside | True, to apply the camera distortion from the nearest point lying on the frame border if the point lies outside the visible camera area; False, to apply the distortion from the given position |
|
inlinestatic |
Deprecated.
Determines the accuracy of the camera pose based on 2D/3D correspondences. The accuracy is determined based on the projection errors between projected 3D points and their corresponding 2D image points.
world_T_camera | The camera pose transforming camera to world, must be valid |
pinholeCamera | The pinhole camera model defining the projection, must be valid |
objectPoint | 3D Object point defined in world |
imagePoint | 2D Image point corresponding to the object point |
useDistortionParameters | True, to respect the distortion parameters of the given camera during object point projection |
|
static |
Determines the accuracy of the camera pose based on 2D/3D correspondences.
The accuracy is determined based on the projection errors between projected 3D points and their corresponding 2D image points.
flippedCamera_T_world | The inverted and flipped camera pose, transforming world to flipped camera, must be valid |
anyCamera | The camera profile defining the projection, must be valid |
objectPointAccessor | The accessor providing the 3D object points corresponding to the given pose |
imagePointAccessor | The accessor providing the 2D image points corresponding to the image points, one image point for each object point |
errors | Optional resulting error values individually for each given point correspondence |
sqrErrors | Optional resulting squared error values individually for each given point correspondence |
TAccessorObjectPoints | The template type of the accessor for the object points |
TAccessorImagePoints | The template type of the accessor for the image points |
tResultingErrors | True, if errors is defined |
tResultingSqrErrors | True, if sqrErrors is defined |
|
static |
Determines the accuracy of a camera pose in combination with the corresponding camera profile.
The accuracy is determined by transforming the given 3D object points using the extrinsic camera parameter and projecting these points onto the image plane.
flippedCamera_T_world | The inverted and flipped camera pose, transforming world to flipped camera, with default flipped camera pointing towards the positive z-space, with y-axis downwards, must be valid |
camera | The camera profile defining the projection, must be valid |
objectPointAccessor | Accessor providing the 3D object points defined in world |
imagePointAccessor | Accessor providing the 2D image points corresponding to the image points |
sqrAveragePixelError | Average square projection pixel error |
sqrMinimalPixelError | Minimal square projection pixel error |
sqrMaximalPixelError | Maximal square projection pixel error |
TAccessorObjectPoints | The template type of the accessor for the object points |
TAccessorImagePoints | The template type of the accessor for the image points |
tOnlyFrontObjectPoints | True, to fail in case a 3D object point is not in front of the camera; False, to ignore whether 3D object points are in front of behind the camera |
|
static |
Deprecated.
Determines the accuracy of a camera pose in combination with the corresponding camera profile. The accuracy is determined by transforming the given 3D object points using the extrinsic camera parameter and projecting these points onto the image plane.
flippedCamera_T_world | The inverted and flipped camera pose, transforming world to flipped camera, with default flipped camera pointing towards the positive z-space, with y-axis downwards, must be valid |
camera | The camera profile defining the projection, must be valid |
objectPointAccessor | Accessor providing the 3D object points defined in world |
imagePointAccessor | Accessor providing the 2D image points corresponding to the image points |
sqrAveragePixelError | Average square projection pixel error |
sqrMinimalPixelError | Minimal square projection pixel error |
sqrMaximalPixelError | Maximal square projection pixel error |
TAccessorObjectPoints | The template type of the accessor for the object points |
TAccessorImagePoints | The template type of the accessor for the image points |
|
inlinestatic |
Determines the accuracy of the camera pose based on 2D/3D correspondences.
The accuracy is determined based on the projection errors between projected 3D points and their corresponding 2D image points.
flippedCamera_T_world | The inverted and flipped camera pose, transforming world to flipped camera, with default flipped camera pointing towards the positive z-space, with y-axis downwards, must be valid |
camera | The camera profile defining the projection, must be valid |
objectPoint | The 3D Object point, defined in world |
imagePoint | The 2D image point corresponding to the object point, defined in the camera pixel domain |
|
static |
Determines the accuracy of the camera pose based on 2D/3D correspondences.
The accuracy is determined based on the projection errors between projected 3D points and their corresponding 2D image points.
flippedCamera_T_world | Inverted and flipped extrinsic camera pose, transforming world to flipped camera, must be valid |
pinholeCamera | The pinhole camera model defining the projection, must be valid |
objectPointAccessor | The accessor providing the 3D object points defined in world |
imagePointAccessor | The accessor providing the 2D image points corresponding to the image points, one image point for each object point |
useDistortionParameters | True, to respect the distortion parameters of the given camera during object point projection |
zoom | The zoom factor of the camera, with range (0, infinity), with 1 the default zoom factor |
errors | Optional resulting error values individually for each given point correspondence |
sqrErrors | Optional resulting squared error values individually for each given point correspondence |
TAccessorObjectPoints | The template type of the accessor for the object points |
TAccessorImagePoints | The template type of the accessor for the image points |
tUseBorderDistortionIfOutside | True, to apply the camera distortion from the nearest point lying on the frame border if the point lies outside the visible camera area; False, to apply the distortion from the given position |
tResultingErrors | True, if errors is defined |
tResultingSqrErrors | True, if sqrErrors is defined |
|
static |
Determines the accuracy of the extrinsic and intrinsic camera matrix (and camera distortion if requested).
The accuracy is determined by transforming the given 3D object points using the extrinsic camera parameter and projecting these points onto the image plane.
Beware: The given camera matrix is not equal to a extrinsic matrix.
Instead, camera matrix is the extrinsic camera matrix flipped around the x-axis and inverted afterwards.
flippedCamera_T_world | Inverted and flipped camera pose, transforming world to flipped camera, must be valid |
pinholeCamera | The pinhole camera specifying the internal camera parameters and optionally distortion |
objectPointAccessor | Accessor providing the 3D object points defined in world |
imagePointAccessor | Accessor providing the 2D image points corresponding to the image points |
useDistortionParameters | True, to respect the distortion parameters of the given camera during object point projection |
sqrAveragePixelError | Average square projection pixel error |
sqrMinimalPixelError | Minimal square projection pixel error |
sqrMaximalPixelError | Maximal square projection pixel error |
zoom | The zoom factor of the camera, with range (0, infinity), with 1 the default zoom factor |
TAccessorObjectPoints | The template type of the accessor for the object points |
TAccessorImagePoints | The template type of the accessor for the image points |
tUseBorderDistortionIfOutside | True, to apply the camera distortion from the nearest point lying on the frame border if the point lies outside the visible camera area; False, to apply the distortion from the given position |
|
inlinestatic |
Deprecated.
Determines the accuracy of the camera pose based on 2D/3D correspondences. The accuracy is determined based on the projection errors between projected 3D points and their corresponding 2D image points.
flippedCamera_T_world | Inverted and flipped camera pose, transforming world to flipped camera, must be valid |
pinholeCamera | The pinhole camera specifying the internal camera parameters and optionally distortion |
objectPoint | 3D Object point defined in world |
imagePoint | 2D Image point corresponding to the object point |
useDistortionParameters | True, to respect the distortion parameters of the given camera during object point projection |
|
static |
Determines the indices of a set of given parameter values that are below ore equal to a provided threshold.
parameters | Parameter values that have to be investigated |
number | The number of provided values, with range [1, infinity) |
threshold | The threshold that is used to filter the parameter values |
validIndices | Resulting indices of the provided parameter values that are below the specified threshold |
|
inlinestatic |
Returns whether the offsets between two given 6DOF poses are below specified thresholds.
poseFirst | First pose to be checked |
poseSecond | Second poses to be checked |
maxOrientationOffset | Maximal allowed orientation offset, defined in radian, might be Numeric::deg2rad(15) |
|
inlinestatic |
Returns whether the offsets between two given 6DOF poses are below specified thresholds.
poseFirst | First pose to be checked |
poseSecond | Second poses to be checked |
maxTranslationOffset | Maximal allowed translation offset, with positive values for the individual translation axes, might be Vector3(Scalar(0.1), Scalar(0.1), Scalar(0.1)) |
|
static |
Returns whether the offsets between two given 6DOF poses are below specified thresholds.
poseFirst | First pose to be checked |
poseSecond | Second poses to be checked |
maxTranslationOffset | Maximal allowed translation offset, with positive values for the individual translation axes |
maxOrientationOffset | Maximal allowed orientation offset, defined in radian |
|
static |
Determines the unique robust minimal average square error between two 2D points clouds.
The given point clouds may not have the same size, and therefore the point order does not define any correspondences.
However, the number of given image points must be smaller or equal to the number of given candidate points.
The minimal error is found by determining the absolute minimal error between image points and candidate points.
Candidate points already used will not be used for any further correspondences creating unique correspondences.
The uniqueness is guaranteed due to a brute force calculation of all possible distances.
imagePoints | Image points to determine the minimal errors for, must be valid |
numberImagePoints | Number of given image points, with range [1, numberCandidatePoints] |
validImagePoints | The number of image points which can be expected to have a unique corresponding point inside the candidate set, with range [1, numberImagePoints] |
candidatePoints | Possible candidate image points to be used for finding the minimal error, must be valid |
numberCandidatePoints | Number of given candidate points, with range [1, infinity) |
correspondences | Optional resulting point correspondences, for each index of an image point one corresponding candidate point index will be returned |
tEstimator | Estimator type to be applied |