]> rtime.felk.cvut.cz Git - hercules2020/kcf.git/blob - src/scale_vars.hpp
Work done so far on making Scale_var struct
[hercules2020/kcf.git] / src / scale_vars.hpp
1 #ifndef SCALE_VARS_HPP
2 #define SCALE_VARS_HPP
3
4 #ifdef CUFFT
5   #include "complexmat.cuh"
6 #else
7   #include "complexmat.hpp"
8 #endif
9
10 enum Track_flags
11 {
12     RESPONSE = 1 << 0, // binary 0001
13     AUTO_CORRELATION = 1 << 1, // binary 0010
14     CROSS_CORRELATION = 1 << 2, // binary 0100
15 };
16
17 struct Scale_vars
18 {
19     float *xf_sqr_norm = nullptr, *yf_sqr_norm = nullptr;
20 #ifdef CUFFT
21     float *xf_sqr_norm_d = nullptr, *yf_sqr_norm_d = nullptr, *gauss_corr_res = nullptr;
22 #endif
23
24     std::vector<cv::Mat> patch_feats;
25
26     cv::Mat in_all, ifft2_res, response;
27     ComplexMat zf, kzf, kf, xyf;
28
29     Track_flags flag;
30
31     cv::Point2i max_loc;
32     double max_val, max_response;
33 };
34
35 #endif // SCALE_VARS_HPP