meanprofile.cc
来自「VC视频对象的跟踪提取原代码(vc视频监控源码)」· CC 代码 · 共 66 行
CC
66 行
/* * MeanProfile.cc * * class for calculating an updated mean profile * */#include "MeanProfile.h"#include "tracker_defines_types_and_helpers.h" // for SQUAREnamespace ReadingPeopleTracker{void MeanProfile::update(const Profile *new_profile){ no_processed++; if (no_processed > max_n) no_processed = max_n; origin += (new_profile->origin - origin) / no_processed; width += (new_profile->width - width) / no_processed; height += (new_profile->height - height) / no_processed; *this += (*new_profile - *this) / no_processed;// *this += (*new_profile - const_cast<const NagVector &>(*this)) / no_processed; Point2 d; for (int i = 0; i < Profile::NO_CONTROL_POINTS; i++) { for (int j = 0; j < Profile::NO_CONTROL_POINTS; j++) { d = new_profile->spline[i] - new_profile->spline[j]; *mean_squares.get(i,j) += (d.length2() - *mean_squares.get(i,j)) / no_processed; *mean_distances.get(i,j) += (fabs(d.length()) - *mean_distances.get(i,j)) / no_processed; } }}void MeanProfile::update(ProfileSet &new_data_set){ Profile reflected; for (ListNode<Profile> *curr = new_data_set.first; curr != NULL; curr = curr->next) { update(curr->dat); //update(curr->dat->reflect(&reflected)); } }void MeanProfile::reset_mean(){ no_processed = 0; mean_squares.clear(); mean_distances.clear(); clear();} } // namespace ReadingPeopleTracker
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?