\brief CTrack \param pt \param region \param deltaTime \param accelNoiseMag \param trackID \param filterObjectSize \param externalTrackerForLost
| 20 | /// \param externalTrackerForLost |
| 21 | /// |
| 22 | CTrack::CTrack(const CRegion& region, |
| 23 | tracking::KalmanType kalmanType, |
| 24 | track_t deltaTime, |
| 25 | track_t accelNoiseMag, |
| 26 | bool useAcceleration, |
| 27 | track_id_t trackID, |
| 28 | tracking::FilterGoal filterGoal, |
| 29 | tracking::LostTrackType externalTrackerForLost, |
| 30 | time_point_t currTime) |
| 31 | : |
| 32 | m_kalman(kalmanType, useAcceleration, deltaTime, accelNoiseMag), |
| 33 | m_lastRegion(region), |
| 34 | m_predictionRect(region.m_rrect), |
| 35 | m_predictionPoint(region.m_rrect.center), |
| 36 | m_trackID(trackID), |
| 37 | m_lastDetectionTime(currTime), |
| 38 | m_currType(region.m_type), |
| 39 | m_lastType(region.m_type), |
| 40 | m_externalTrackerForLost(externalTrackerForLost), |
| 41 | m_filterGoal(filterGoal) |
| 42 | { |
| 43 | //std::cout << "CTrack::CTrack1: m_predictionRect: " << m_predictionRect.center << ", " << m_predictionRect.angle << ", " << m_predictionRect.size << std::endl; |
| 44 | |
| 45 | switch (filterGoal) |
| 46 | { |
| 47 | case tracking::FilterGoal::FilterCenter: |
| 48 | m_kalman.Update(m_predictionPoint, true); |
| 49 | break; |
| 50 | case tracking::FilterGoal::FilterRect: |
| 51 | m_kalman.Update(region.m_brect, true); |
| 52 | break; |
| 53 | case tracking::FilterGoal::FilterRRect: |
| 54 | m_kalman.Update(region.m_rrect, true); |
| 55 | break; |
| 56 | }; |
| 57 | |
| 58 | Point_t pt(m_predictionPoint.x, m_predictionPoint.y + region.m_brect.height / 2); |
| 59 | m_trace.push_back(pt, pt, currTime); |
| 60 | ResetLostTime(currTime); |
| 61 | } |
| 62 | |
| 63 | /// |
| 64 | /// \brief CTrack::CTrack |