![]() |
IPSDK
4_1_0_2
IPSDK : Image Processing Software Development Kit
|
algorithm allowing registration of 2d images using features associated to grey signature More...
| IPSDKIPLREGISTRATION_API attr::Features2dRegistrationResultPtr | ipsdk::imaproc::registration::greySignedFeaturesImg2dRegistration (const image::ImageConstPtr &pInOriginImg2d, const image::ImageConstPtr &pInTargetImg2d, const ipsdk::imaproc::attr::eRegistrationMotionModel2d &inRegMotionModel2d) |
| wrapper function for algorithm allowing registration of 2d images using features associated to grey signature More... | |
| IPSDKIPLREGISTRATION_API attr::Features2dRegistrationResultPtr | ipsdk::imaproc::registration::greySignedFeaturesImg2dRegistration (const image::ImageConstPtr &pInOriginImg2d, const image::ImageConstPtr &pInTargetImg2d, const ipsdk::imaproc::attr::ScaleCandidatesConstPtr &pInScaleCandidates, const ipReal32 inGradStdDev, const attr::GaussianCoverageConstPtr &pInOptGradientGaussianCoverage, const ipsdk::imaproc::attr::CornerDetectionParamsConstPtr &pInCornerDetectionParams2d, const ipUInt32 inNbFeatures, const ipUInt32 inFeaturesDistX, const ipUInt32 inFeaturesDistY, const ipsdk::imaproc::attr::eInterpolationPolicy &inInterpolationPolicy, const ipsdk::imaproc::attr::SamplingBallInfoConstPtr &pInSamplingBallInfo2d, const ipsdk::imaproc::attr::eRegistrationMotionModel2d &inRegMotionModel2d, const ipReal64 inCorrelationThreshold2d, const ipsdk::imaproc::attr::RobustEstimationConfigConstPtr &pInOptRegistrationEstimationConfig, const ipsdk::imaproc::attr::Features2dRegistrationResultsPtr &pOutFeatures2dRegistrationResults) |
| wrapper function for algorithm allowing registration of 2d images using features associated to grey signature More... | |
| IPSDKIPLREGISTRATION_API attr::Features2dRegistrationResultPtr | ipsdk::imaproc::registration::greySignedFeaturesImg2dRegistration (const image::ImageConstPtr &pInOriginImg2d, const image::ImageConstPtr &pInTargetImg2d) |
| wrapper function for algorithm allowing registration of 2d images using features associated to grey signature More... | |
| IPSDKIPLREGISTRATION_API attr::Features2dRegistrationResultPtr | ipsdk::imaproc::registration::greySignedFeaturesImg2dRegistration (const image::ImageConstPtr &pInOriginImg2d, const image::ImageConstPtr &pInTargetImg2d, const ipReal32 inGradStdDev, const ipUInt32 inNbFeatures, const ipUInt32 inFeaturesDist, const attr::Features2dRegistrationResultsPtr &pOutFeatures2dRegistrationResults) |
| wrapper function for algorithm allowing registration of 2d images using features associated to grey signature More... | |
| IPSDKIPLREGISTRATION_API attr::Features2dRegistrationResultPtr | ipsdk::imaproc::registration::greySignedFeaturesImg2dRegistration (const image::ImageConstPtr &pInOriginImg2d, const image::ImageConstPtr &pInTargetImg2d, const attr::ScaleCandidatesConstPtr &pInScaleCandidates) |
| wrapper function for algorithm allowing registration of 2d images using features associated to grey signature More... | |
| IPSDKIPLREGISTRATION_API attr::Features2dRegistrationResultPtr | ipsdk::imaproc::registration::greySignedFeaturesImg2dRegistration (const image::ImageConstPtr &pInOriginImg2d, const image::ImageConstPtr &pInTargetImg2d, const attr::ScaleCandidatesConstPtr &pInScaleCandidates, const ipReal32 inGradStdDev, const ipUInt32 inNbFeatures, const ipUInt32 inFeaturesDist, const attr::Features2dRegistrationResultsPtr &pOutFeatures2dRegistrationResults) |
| wrapper function for algorithm allowing registration of 2d images using features associated to grey signature More... | |
algorithm allowing registration of 2d images using features associated to grey signature
This algorithm allows to automatically compute motion transform linking two images. Given an origin image
and a target image
, this algorithm basically allows to automatically compute motion transform linking. We compute transformation allowing to link points of images with following formula :
with :
a scale factor computed in similarity case (ie. ipsdk::imaproc::attr::eRegistrationMotionModel2d::eRMM2d_Similarity) and equal to 1 in rigid case (ie. ipsdk::imaproc::attr::eRegistrationMotionModel2d::eRMM2d_Rigid).
a rotation matrix, see Rotations 2d.
a translation vectorThe computed transformation can also be of form :
in case of homography motion model (ipsdk::imaproc::attr::eRegistrationMotionModel2d::eRMM2d_Homography) with :
homogeneous coordinates associated to point 
a 3x3 matrixThis algorithm is composed of three main phasis :
Extraction phasis can be controlled via following parameters :
,
,
,
,
,
,
and
(see Extract grey signed features 2d).
Motion transform computation phasis can be controlled via following parameters :
,
and
. Note that in case where
parameter is set to ipsdk::imaproc::attr::eRegistrationMotionModel2d::eRMM2d_Similarity or ipsdk::imaproc::attr::eRegistrationMotionModel2d::eRMM2d_Homography, algorithm will iterate on its three main phasis searching for best results adusting used scale for feature extraction (this phasis is not scale invariant see Extract grey signed features 2d). In this case an additional parameter
allows to defined candidates for tested scale factor.
Here is an example of usage of this algorithm in case of similarity transform computation :
In this case, we ask for 100 detected features. Given used distance between features, algorithm provided 100 detected features in first image and only 95 in second one. Given used correlation threshold (set to 0.95 in this case), only 27 made pairs are keeped (blue points stands for rejected data during pairing phasis).
This allows a robust computation of similarity transformation which detects 8 outliers in input collections (red points) leaving 19 inliers (green points linked between images).
On output algorithm estimates a root mean square of residuals equal to 1.38 pixels which grants a good estimation of transformation.
Here is a second example of usage of this algorithm in case of similarity transform computation :
In this case, we ask for 100 detected features. Given used distance between features, algorithm provided 100 detected features in first image and second images. Given used correlation threshold (set to 0.95 in this case), only 27 made pairs are keeped (blue points stands for rejected data during pairing phasis).
This allows a robust computation of similarity transformation which detects 2 outliers in input collections (red points) leaving 25 inliers (green points linked between images).
On output algorithm estimates a root mean square of residuals equal to 1.77 pixels which grants a good estimation of transformation.
Attribute description for algorithm :
| Name | ToolTip | Default Initializer |
|---|---|---|
| ipsdk::imaproc::attr::InOriginImg2d | [Input] Origin 2d image provided to registration algorithm | X |
| ipsdk::imaproc::attr::InTargetImg2d | [Input] Target 2d image provided to registration algorithm | X |
| ipsdk::imaproc::attr::InOptScaleCandidates | [Input Optional] scale candidates for processing | X |
| ipsdk::imaproc::attr::InOptGradStdDev | [Input Optional] standard deviation used for gradient computation | X |
| ipsdk::imaproc::attr::InOptGradientGaussianCoverage | [Input Optional] Parameter allowing to specify a gaussian distribution coverage for processing | X |
| ipsdk::imaproc::attr::InOptCornerDetectionParams2d | [Input Optional] parameters used during corner detection process | X |
| ipsdk::imaproc::attr::InOptNbFeatures | [Input Optional] target number of features to be detected by algorithm | X |
| ipsdk::imaproc::attr::InOptFeaturesDistX | [Input Optional] distance between detected features along x axis (tchebychev distance) | X |
| ipsdk::imaproc::attr::InOptFeaturesDistY | [Input Optional] distance between detected features along y axis (tchebychev distance) | X |
| ipsdk::imaproc::attr::InOptInterpolationPolicy | [Input Optional] interpolation policy used to extract local data from image | X |
| ipsdk::imaproc::attr::InOptSamplingBallInfo2d | [Input Optional] Parameters for used sampling ball around image points | X |
| ipsdk::imaproc::attr::InOptRegMotionModel2d | [Input Optional] 2d motion model which should be used for computation | X |
| ipsdk::imaproc::attr::InOptCorrelationThreshold2d | [Input Optional] threshold on 2d correlation scores used during pairs matching | X |
| ipsdk::imaproc::attr::InOptRegistrationEstimationConfig | [Input Optional] configuration for robust estimation part of features registration | X |
| ipsdk::imaproc::attr::OutWk1Img | [Output] Temporary working image for algorithm | promoteReInterpretable (_pOutWk1Img, _pInOriginImg2d, _pInTargetImg2d, ipsdk::imaproc::ePromoteBinaryType::ePBT_UpperSigned) |
| ipsdk::imaproc::attr::OutWk2Img | [Output] Temporary working image for algorithm | promoteReInterpretable (_pOutWk2Img, _pInOriginImg2d, _pInTargetImg2d, ipsdk::imaproc::ePromoteBinaryType::ePBT_UpperSigned) |
| ipsdk::imaproc::attr::OutWk3Img | [Output] Temporary working image for algorithm | promoteReInterpretable (_pOutWk3Img, _pInOriginImg2d, _pInTargetImg2d, ipsdk::imaproc::ePromoteBinaryType::ePBT_UpperSigned) |
| ipsdk::imaproc::attr::OutWk4Img | [Output] Temporary working image for algorithm | promoteReInterpretable (_pOutWk4Img, _pInOriginImg2d, _pInTargetImg2d, ipsdk::imaproc::ePromoteBinaryType::ePBT_UpperSigned) |
| ipsdk::imaproc::attr::OutFeatures2dRegistrationResults | [Output] collection of results for features 2d registration algorithm | allocate (_pOutFeatures2dRegistrationResults) |
Global rule description for algorithm :
((ipsdk::imaproc::matchBufferType (_pInOriginImg2d,_pInTargetImg2d)) &&
(ipsdk::imaproc::isReInterpretable (_pOutWk1Img,_pInOriginImg2d)) &&
(ipsdk::imaproc::isReInterpretable (_pOutWk1Img,_pInTargetImg2d)) &&
(ipsdk::imaproc::matchSizeAndType (_pOutWk1Img,_pOutWk2Img,_pOutWk3Img,_pOutWk4Img)))
| IPSDKIPLREGISTRATION_API attr::Features2dRegistrationResultPtr ipsdk::imaproc::registration::greySignedFeaturesImg2dRegistration | ( | const image::ImageConstPtr & | pInOriginImg2d, |
| const image::ImageConstPtr & | pInTargetImg2d, | ||
| const ipsdk::imaproc::attr::eRegistrationMotionModel2d & | inRegMotionModel2d | ||
| ) |
wrapper function for algorithm allowing registration of 2d images using features associated to grey signature
In this case computed transformation type is defined by user
| ipsdk::processor::IPSDKBaseProcessingException | on failure |
| IPSDKIPLREGISTRATION_API attr::Features2dRegistrationResultPtr ipsdk::imaproc::registration::greySignedFeaturesImg2dRegistration | ( | const image::ImageConstPtr & | pInOriginImg2d, |
| const image::ImageConstPtr & | pInTargetImg2d | ||
| ) |
wrapper function for algorithm allowing registration of 2d images using features associated to grey signature
In this case we compute a rigid transformation
| ipsdk::processor::IPSDKBaseProcessingException | on failure |
| IPSDKIPLREGISTRATION_API attr::Features2dRegistrationResultPtr ipsdk::imaproc::registration::greySignedFeaturesImg2dRegistration | ( | const image::ImageConstPtr & | pInOriginImg2d, |
| const image::ImageConstPtr & | pInTargetImg2d, | ||
| const attr::ScaleCandidatesConstPtr & | pInScaleCandidates | ||
| ) |
wrapper function for algorithm allowing registration of 2d images using features associated to grey signature
In this case we compute a similarity transformation
| ipsdk::processor::IPSDKBaseProcessingException | on failure |
| IPSDKIPLREGISTRATION_API attr::Features2dRegistrationResultPtr ipsdk::imaproc::registration::greySignedFeaturesImg2dRegistration | ( | const image::ImageConstPtr & | pInOriginImg2d, |
| const image::ImageConstPtr & | pInTargetImg2d, | ||
| const ipsdk::imaproc::attr::ScaleCandidatesConstPtr & | pInScaleCandidates, | ||
| const ipReal32 | inGradStdDev, | ||
| const attr::GaussianCoverageConstPtr & | pInOptGradientGaussianCoverage, | ||
| const ipsdk::imaproc::attr::CornerDetectionParamsConstPtr & | pInCornerDetectionParams2d, | ||
| const ipUInt32 | inNbFeatures, | ||
| const ipUInt32 | inFeaturesDistX, | ||
| const ipUInt32 | inFeaturesDistY, | ||
| const ipsdk::imaproc::attr::eInterpolationPolicy & | inInterpolationPolicy, | ||
| const ipsdk::imaproc::attr::SamplingBallInfoConstPtr & | pInSamplingBallInfo2d, | ||
| const ipsdk::imaproc::attr::eRegistrationMotionModel2d & | inRegMotionModel2d, | ||
| const ipReal64 | inCorrelationThreshold2d, | ||
| const ipsdk::imaproc::attr::RobustEstimationConfigConstPtr & | pInOptRegistrationEstimationConfig, | ||
| const ipsdk::imaproc::attr::Features2dRegistrationResultsPtr & | pOutFeatures2dRegistrationResults | ||
| ) |
wrapper function for algorithm allowing registration of 2d images using features associated to grey signature
In this case computed transformation type is defined by user
| ipsdk::processor::IPSDKBaseProcessingException | on failure |
| IPSDKIPLREGISTRATION_API attr::Features2dRegistrationResultPtr ipsdk::imaproc::registration::greySignedFeaturesImg2dRegistration | ( | const image::ImageConstPtr & | pInOriginImg2d, |
| const image::ImageConstPtr & | pInTargetImg2d, | ||
| const ipReal32 | inGradStdDev, | ||
| const ipUInt32 | inNbFeatures, | ||
| const ipUInt32 | inFeaturesDist, | ||
| const attr::Features2dRegistrationResultsPtr & | pOutFeatures2dRegistrationResults | ||
| ) |
wrapper function for algorithm allowing registration of 2d images using features associated to grey signature
In this case we compute a rigid transformation
| ipsdk::processor::IPSDKBaseProcessingException | on failure |
| IPSDKIPLREGISTRATION_API attr::Features2dRegistrationResultPtr ipsdk::imaproc::registration::greySignedFeaturesImg2dRegistration | ( | const image::ImageConstPtr & | pInOriginImg2d, |
| const image::ImageConstPtr & | pInTargetImg2d, | ||
| const attr::ScaleCandidatesConstPtr & | pInScaleCandidates, | ||
| const ipReal32 | inGradStdDev, | ||
| const ipUInt32 | inNbFeatures, | ||
| const ipUInt32 | inFeaturesDist, | ||
| const attr::Features2dRegistrationResultsPtr & | pOutFeatures2dRegistrationResults | ||
| ) |
wrapper function for algorithm allowing registration of 2d images using features associated to grey signature
In this case we compute a similarity transformation
| ipsdk::processor::IPSDKBaseProcessingException | on failure |
1.8.14