public:
ThreadCtx(cv::Size roi, uint num_features
#ifdef BIG_BATCH
- , uint num_of_scales
+ , uint num_scales
#else
, double scale
#endif
)
: roi(roi)
, num_features(num_features)
- , num_of_scales(IF_BIG_BATCH(num_of_scales, 1))
+ , num_scales(IF_BIG_BATCH(num_scales, 1))
#ifndef BIG_BATCH
, scale(scale)
#endif
private:
cv::Size roi;
uint num_features;
- uint num_of_scales;
+ uint num_scales;
cv::Size freq_size = Fft::freq_size(roi);
+ MatScaleFeats patch_feats{num_scales, num_features, roi};
+ MatScaleFeats temp{num_scales, num_features, roi};
- KCF_Tracker::GaussianCorrelation gaussian_correlation{num_of_scales, num_features, roi};
+ KCF_Tracker::GaussianCorrelation gaussian_correlation{num_scales, num_features, roi};
- MatDynMem ifft2_res{roi, CV_32FC(int(num_features))};
+ MatScales ifft2_res{num_scales, roi};
- ComplexMat zf{uint(freq_size.height), uint(freq_size.width), num_features, num_of_scales};
- ComplexMat kzf{uint(freq_size.height), uint(freq_size.width), num_of_scales};
+ ComplexMat zf{uint(freq_size.height), uint(freq_size.width), num_features, num_scales};
+ ComplexMat kzf{uint(freq_size.height), uint(freq_size.width), 1, num_scales};
public:
#ifdef ASYNC
std::future<void> async_res;
#endif
- MatScales response{num_of_scales, roi};
+ MatScales response{num_scales, roi};
struct Max {
cv::Point2i loc;
};
#ifdef BIG_BATCH
- std::vector<Max> max = std::vector<Max>(num_of_scales);
+ std::vector<Max> max = std::vector<Max>(num_scales);
#else
Max max;
const double scale;