#include "complexmat.hpp"
#ifdef CUFFT
-#include "cuda_functions.h"
#include "cuda_error_check.hpp"
#include <cuda_runtime.h>
#endif
struct BBox_c
{
- double cx, cy, w, h;
+ double cx, cy, w, h, a;
inline cv::Point2d center() const { return cv::Point2d(cx, cy); }
Kcf_Tracker_Private &d;
class Model {
+ cv::Size feature_size;
uint height, width, n_feats;
public:
ComplexMat yf {height, width, 1};
ComplexMat model_xf {height, width, n_feats};
ComplexMat xf {height, width, n_feats};
- Model(cv::Size freq_size, uint _n_feats) : height(freq_size.height), width(freq_size.width), n_feats(_n_feats) {}
+ // Temporary variables for trainig
+ MatScaleFeats patch_feats{1, n_feats, feature_size};
+ MatScaleFeats temp{1, n_feats, feature_size};
+
+
+
+ Model(cv::Size feature_size, uint _n_feats)
+ : feature_size(feature_size)
+ , height(Fft::freq_size(feature_size).height)
+ , width(Fft::freq_size(feature_size).width)
+ , n_feats(_n_feats) {}
};
std::unique_ptr<Model> model;
MatScales k;
};
-
//helping functions
void scale_track(ThreadCtx &vars, cv::Mat &input_rgb, cv::Mat &input_gray);
cv::Mat get_subwindow(const cv::Mat &input, int cx, int cy, int size_x, int size_y) const;