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 IST(
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; }
85 cv::Mat estimateIST(cv::InputArray _points1, cv::InputArray _points2,
88 int estimateIST(
const CvMat* in_pts,
const CvMat* out_pts,
Isotropic Scaling and Translation.
Definition: IST.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