It roughly corresponds to tracker's view of tracking accuracy. This value
is produced even when ground truth data is not available.
PITOM wanted to have this for their drone use case.
Fixes #19.
double time_profile_counter = cv::getCPUTickCount();
tracker.track(image);
time_profile_counter = cv::getCPUTickCount() - time_profile_counter;
- std::cout << " -> speed : " << time_profile_counter/((double)cvGetTickFrequency()*1000) << "ms. per frame";
+ std::cout << " -> speed : " << time_profile_counter/((double)cvGetTickFrequency()*1000) << "ms. per frame, "
+ "response : " << tracker.getFilterResponse();
avg_time += time_profile_counter/((double)cvGetTickFrequency()*1000);
frames++;
return tmp;
}
+double KCF_Tracker::getFilterResponse() const
+{
+ return this->max_response;
+}
+
void KCF_Tracker::track(cv::Mat &img)
{
if (m_debug) std::cout << "NEW FRAME" << '\n';
}
}
- double max_response = -1.;
+ max_response = -1.;
ThreadCtx *max = nullptr;
cv::Point2i *max_response_pt = nullptr;
cv::Mat *max_response_map = nullptr;
// frame-to-frame object tracking
void track(cv::Mat & img);
BBox_c getBBox();
+ double getFilterResponse() const; // Measure of tracking accuracy
private:
Fft &fft;
BBox_c p_pose;
+ double max_response = -1.;
+
bool p_resize_image = false;
bool p_fit_to_pw2 = false;