4 #include "ProjectiveBase.h"     5 #include "SSMEstimator.h"     6 #include "SSMEstimatorParams.h"    20     int runKernel(
const CvMat* m1, 
const CvMat* m2, CvMat* model) 
override;
    21     bool refine(
const CvMat* m1, 
const CvMat* m2,
    22         CvMat* model, 
int maxIters) 
override;
    24     void computeReprojError(
const CvMat* m1, 
const CvMat* m2,
    25         const CvMat* model, CvMat* error) 
override;
    34     AST(
const ParamType *params_in = 
nullptr);
    36     void setState(
const VectorXd &ssm_state) 
override;
    37     void compositionalUpdate(
const VectorXd& state_update) 
override;
    39     void getInitPixGrad(Matrix2Xd &ssm_grad, 
int pix_id) 
override;
    41     void getCurrPixGrad(Matrix2Xd &ssm_grad, 
int pix_id)
 override {
    42         getInitPixGrad(ssm_grad, pix_id);
    43     }
void cmptInitPixJacobian(MatrixXd &jacobian_prod, 
const PixGradT &am_jacobian) 
override;
    45     void cmptPixJacobian(MatrixXd &jacobian_prod, 
const PixGradT &am_jacobian)
 override{
    46         cmptInitPixJacobian(jacobian_prod, am_jacobian);
    48     void cmptApproxPixJacobian(MatrixXd &jacobian_prod,
    49         const PixGradT &pix_jacobian) 
override;
    50     void cmptWarpedPixJacobian(MatrixXd &dI_dp, 
const PixGradT &dI_dx) 
override;
    53     void cmptInitPixHessian(MatrixXd &pix_hess_ssm, 
const PixHessT &pix_hess_coord,
    54         const PixGradT &pix_grad) 
override;
    56     void cmptPixHessian(MatrixXd &pix_hess_ssm, 
const PixHessT &pix_hess_coord,
    57         const PixGradT &pix_grad)
 override {
    58         cmptInitPixHessian(pix_hess_ssm, pix_hess_coord, pix_grad);
    60     void cmptWarpedPixHessian(MatrixXd &d2I_dp2, 
const PixHessT &d2I_dw2,
    61         const PixGradT &dI_dw) 
override;
    63     void estimateWarpFromCorners(VectorXd &state_update, 
const Matrix24d &in_corners,
    64         const Matrix24d &out_corners) 
override;
    65     void estimateWarpFromPts(VectorXd &state_update, vector<uchar> &mask,
    66         const vector<cv::Point2f> &in_pts, 
const vector<cv::Point2f> &out_pts,
    69     void updateGradPts(
double grad_eps) 
override;
    70     void updateHessPts(
double hess_eps) 
override;
    72     void applyWarpToCorners(Matrix24d &warped_corners, 
const Matrix24d &orig_corners,
    73         const VectorXd &state_update) 
override;
    74     void applyWarpToPts(Matrix2Xd &warped_pts, 
const Matrix2Xd &orig_pts,
    75         const VectorXd &state_update) 
override;
    77     void getWarpFromState(Matrix3d &warp_mat, 
const VectorXd& ssm_state) 
override;
    78     void getStateFromWarp(VectorXd &state_vec, 
const Matrix3d& warp_mat) 
override;
    81     bool supportsSPI()
 override{ 
return true; }
    87     cv::Mat estimateAST(cv::InputArray _points1, cv::InputArray _points2,
    89     int estimateAST(
const CvMat* in_pts, 
const CvMat* out_pts,
 Anisotropic Scaling and Translation. 
Definition: AST.h:29
 
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