MCPcopy Create free account
hub / github.com/Smorodov/Multitarget-tracker / CreateExternalTracker

Method CreateExternalTracker

src/Tracker/track.cpp:998–1283  ·  view source on GitHub ↗

\brief CreateExternalTracker

Source from the content-addressed store, hash-verified

996/// \brief CreateExternalTracker
997///
998void CTrack::CreateExternalTracker(int channels)
999{
1000 switch (m_externalTrackerForLost)
1001 {
1002 case tracking::TrackNone:
1003 if (m_VOTTracker)
1004 m_VOTTracker = nullptr;
1005
1006#ifdef USE_OCV_KCF
1007 if (m_tracker && !m_tracker.empty())
1008 m_tracker.release();
1009#endif
1010 break;
1011
1012 case tracking::TrackKCF:
1013#ifdef USE_OCV_KCF
1014 if (!m_tracker || m_tracker.empty())
1015 {
1016 cv::TrackerKCF::Params params;
1017 if (channels == 1)
1018 {
1019 params.compressed_size = 1;
1020 params.desc_pca = cv::TrackerKCF::GRAY;
1021 params.desc_npca = cv::TrackerKCF::GRAY;
1022 }
1023 else
1024 {
1025 params.compressed_size = 3;
1026 params.desc_pca = cv::TrackerKCF::CN;
1027 params.desc_npca = cv::TrackerKCF::CN;
1028 }
1029 params.resize = true;
1030 params.detect_thresh = 0.7f;
1031#if (((CV_VERSION_MAJOR == 3) && (CV_VERSION_MINOR >= 3)) || (CV_VERSION_MAJOR > 3))
1032 m_tracker = cv::TrackerKCF::create(params);
1033#else
1034 m_tracker = cv::TrackerKCF::createTracker(params);
1035#endif
1036 }
1037#endif
1038 if (m_VOTTracker)
1039 m_VOTTracker = nullptr;
1040 break;
1041
1042 case tracking::TrackMIL:
1043#ifdef USE_OCV_KCF
1044 if (!m_tracker || m_tracker.empty())
1045 {
1046 cv::TrackerMIL::Params params;
1047
1048#if (((CV_VERSION_MAJOR == 3) && (CV_VERSION_MINOR >= 3)) || (CV_VERSION_MAJOR > 3))
1049 m_tracker = cv::TrackerMIL::create(params);
1050#else
1051 m_tracker = cv::TrackerMIL::createTracker(params);
1052#endif
1053 }
1054#endif
1055 if (m_VOTTracker)

Callers

nothing calls this directly

Calls 2

releaseMethod · 0.80
emptyMethod · 0.45

Tested by

no test coverage detected