4 #include "ProjectiveBase.h"     5 #include "SSMEstimator.h"     6 #include "SSMEstimatorParams.h"    12     int pt_based_sampling;
    15         bool _normalized_init, 
int pt_based_sampling,
    24     int runKernel(
const CvMat* m1, 
const CvMat* m2, CvMat* model) 
override;
    25     bool refine(
const CvMat* m1, 
const CvMat* m2,
    26         CvMat* model, 
int maxIters) 
override;
    28     void computeReprojError(
const CvMat* m1, 
const CvMat* m2,
    29         const CvMat* model, CvMat* error) 
override;
    37     ASRT( 
const ParamType *params_in = 
nullptr);
    38     void setCorners(
const CornersT& corners) 
override;
    39     using ProjectiveBase::setCorners;
    41     void setState(
const VectorXd &ssm_state) 
override;
    42     void compositionalUpdate(
const VectorXd& state_update) 
override;
    44     void getInitPixGrad(Matrix2Xd &ssm_grad, 
int pix_id) 
override;
    46     void getCurrPixGrad(Matrix2Xd &ssm_grad, 
int pix_id)
 override {
    47         getInitPixGrad(ssm_grad, pix_id);
    49     void cmptInitPixJacobian(MatrixXd &jacobian_prod, 
const PixGradT &am_jacobian) 
override;
    51     void cmptPixJacobian(MatrixXd &jacobian_prod, 
const PixGradT &am_jacobian)
 override{
    52         cmptInitPixJacobian(jacobian_prod, am_jacobian);
    54     void cmptApproxPixJacobian(MatrixXd &jacobian_prod, 
const PixGradT &pix_jacobian) 
override;
    55     void cmptWarpedPixJacobian(MatrixXd &jacobian_prod,
    56         const PixGradT &pix_grad) 
override;
    58     void cmptInitPixHessian(MatrixXd &pix_hess_ssm, 
const PixHessT &pix_hess_coord,
    59         const PixGradT &pix_grad) 
override;
    61     void cmptPixHessian(MatrixXd &pix_hess_ssm, 
const PixHessT &pix_hess_coord,
    62         const PixGradT &pix_grad)
 override {
    63         cmptInitPixHessian(pix_hess_ssm, pix_hess_coord, pix_grad);
    65     void cmptWarpedPixHessian(MatrixXd &d2I_dp2, 
const PixHessT &d2I_dw2,
    66         const PixGradT &dI_dw) 
override;
    68     void estimateWarpFromCorners(VectorXd &state_update, 
const Matrix24d &in_corners,
    69         const Matrix24d &out_corners) 
override;
    70     void estimateWarpFromPts(VectorXd &state_update, vector<uchar> &mask,
    71         const vector<cv::Point2f> &in_pts, 
const vector<cv::Point2f> &out_pts,
    73     void updateGradPts(
double grad_eps) 
override;
    74     void updateHessPts(
double hess_eps) 
override;
    76     void applyWarpToCorners(Matrix24d &warped_corners, 
const Matrix24d &orig_corners,
    77         const VectorXd &state_update) 
override;
    78     void applyWarpToPts(Matrix2Xd &warped_pts, 
const Matrix2Xd &orig_pts,
    79         const VectorXd &state_update) 
override;
    81     void generatePerturbation(VectorXd &perturbation) 
override;
    83     void getWarpFromState(Matrix3d &warp_mat, 
const VectorXd& ssm_state) 
override;
    84     void getStateFromWarp(VectorXd &state_vec, 
const Matrix3d& warp_mat) 
override;
    87     bool supportsSPI()
 override{ 
return true; }
    93     cv::Mat estimateASRT(cv::InputArray _points1, cv::InputArray _points2,
    95     int estimateASRT(
const CvMat* in_pts, 
const CvMat* out_pts,
 Anisotropic Scaling, Rotation and Translation. 
Definition: ASRT.h:34
 
Definition: StateSpaceModel.h:35
 
Definition: SSMEstimatorParams.h:9
 
Base class for robust estimators for different SSMs adapted from CvModelEstimator2 defined in _modelt...
Definition: SSMEstimator.h:14
 
base class for all SSMs that can be expressed by homogeneous multiplication with a 3x3 projective tra...
Definition: ProjectiveBase.h:14