1 #ifndef MTF_SIMILITUDE_H     2 #define MTF_SIMILITUDE_H     4 #include "ProjectiveBase.h"     5 #include "SSMEstimator.h"     6 #include "SSMEstimatorParams.h"    13     int pt_based_sampling;
    17         bool _normalized_init, 
bool _geom_sampling,
    18         int pt_based_sampling, 
int _n_model_pts,
    27     int runKernel(
const CvMat* m1, 
const CvMat* m2, CvMat* model) 
override;
    28     bool refine(
const CvMat* m1, 
const CvMat* m2,
    29         CvMat* model, 
int maxIters) 
override;
    31     void computeReprojError(
const CvMat* m1, 
const CvMat* m2,
    32         const CvMat* model, CvMat* error) 
override;
    38     Similitude( 
const ParamType *params_in = 
nullptr);
    39     void setCorners(
const CornersT& corners) 
override;
    40     using ProjectiveBase::setCorners;
    42     void setState(
const VectorXd &ssm_state) 
override;
    43     void compositionalUpdate(
const VectorXd& state_update) 
override;
    45     void getInitPixGrad(Matrix2Xd &ssm_grad, 
int pix_id) 
override;
    47     void getCurrPixGrad(Matrix2Xd &ssm_grad, 
int pix_id)
 override {
    48         getInitPixGrad(ssm_grad, pix_id);
    50     void cmptInitPixJacobian(MatrixXd &jacobian_prod, 
const PixGradT &am_jacobian) 
override;
    52     void cmptPixJacobian(MatrixXd &jacobian_prod, 
const PixGradT &am_jacobian)
 override{
    53         cmptInitPixJacobian(jacobian_prod, am_jacobian);
    55     void cmptApproxPixJacobian(MatrixXd &jacobian_prod, 
const PixGradT &pix_jacobian) 
override;
    56     void cmptWarpedPixJacobian(MatrixXd &jacobian_prod,
    57         const PixGradT &pix_grad) 
override;
    59     void cmptInitPixHessian(MatrixXd &pix_hess_ssm, 
const PixHessT &pix_hess_coord,
    60         const PixGradT &pix_grad) 
override;
    62     void cmptPixHessian(MatrixXd &pix_hess_ssm, 
const PixHessT &pix_hess_coord,
    63         const PixGradT &pix_grad)
 override {
    64         cmptInitPixHessian(pix_hess_ssm, pix_hess_coord, pix_grad);
    66     void cmptWarpedPixHessian(MatrixXd &d2I_dp2, 
const PixHessT &d2I_dw2,
    67         const PixGradT &dI_dw) 
override;
    69     void estimateWarpFromCorners(VectorXd &state_update, 
const Matrix24d &in_corners,
    70         const Matrix24d &out_corners) 
override;
    71     void estimateWarpFromPts(VectorXd &state_update, vector<uchar> &mask,
    72         const vector<cv::Point2f> &in_pts, 
const vector<cv::Point2f> &out_pts,
    74     void updateGradPts(
double grad_eps) 
override;
    75     void updateHessPts(
double hess_eps) 
override;
    77     void applyWarpToCorners(Matrix24d &warped_corners, 
const Matrix24d &orig_corners,
    78         const VectorXd &state_update) 
override;
    79     void applyWarpToPts(Matrix2Xd &warped_pts, 
const Matrix2Xd &orig_pts,
    80         const VectorXd &state_update) 
override;
    82     void generatePerturbation(VectorXd &perturbation) 
override;
    84     void additiveRandomWalk(VectorXd &perturbed_state,
    85         const VectorXd &base_state) 
override;
    87     void additiveAutoRegression1(VectorXd &perturbed_state, VectorXd &perturbed_ar,
    88         const VectorXd &base_state, 
const VectorXd &base_ar, 
double a = 0.5) 
override;
    89     void compositionalRandomWalk(VectorXd &perturbed_state,
    90         const VectorXd &base_state) 
override;
    92     void getWarpFromState(Matrix3d &warp_mat, 
const VectorXd& ssm_state) 
override;
    93     void getStateFromWarp(VectorXd &state_vec, 
const Matrix3d& warp_mat) 
override;
    96     bool supportsSPI()
 override{ 
return true; }
   102     Vector4d geomToState(
const Vector4d &geom);
   103     Vector4d stateToGeom(
const Vector4d &est);
   105     cv::Mat estimateSimilitude(cv::InputArray _points1, cv::InputArray _points2,
   107     int estimateSimilitude(
const CvMat* in_pts, 
const CvMat* out_pts,
 Definition: StateSpaceModel.h:35
 
Definition: Similitude.h:23
 
Definition: Similitude.h:35
 
Definition: SSMEstimatorParams.h:9
 
Base class for robust estimators for different SSMs adapted from CvModelEstimator2 defined in _modelt...
Definition: SSMEstimator.h:14
 
Definition: Similitude.h:10
 
base class for all SSMs that can be expressed by homogeneous multiplication with a 3x3 projective tra...
Definition: ProjectiveBase.h:14