Lines 25-31
Link Here
|
25 |
typedef struct |
25 |
typedef struct |
26 |
{ |
26 |
{ |
27 |
cv::Ptr<cv::Tracker> tracker; |
27 |
cv::Ptr<cv::Tracker> tracker; |
|
|
28 |
#if CV_VERSION_MAJOR < 4 && CV_VERSION_MINOR < 5 |
28 |
cv::Rect2d boundingBox; |
29 |
cv::Rect2d boundingBox; |
|
|
30 |
#else |
31 |
cv::Rect boundingBox; |
32 |
#endif |
29 |
char * algo; |
33 |
char * algo; |
30 |
mlt_rect startRect; |
34 |
mlt_rect startRect; |
31 |
bool initialized; |
35 |
bool initialized; |
Lines 138-144
static void analyze( mlt_filter filter, cv::Mat cvFrame, private_data* data, int
Link Here
|
138 |
{ |
142 |
{ |
139 |
data->tracker = cv::TrackerKCF::create(); |
143 |
data->tracker = cv::TrackerKCF::create(); |
140 |
} |
144 |
} |
141 |
#if CV_VERSION_MAJOR > 3 || (CV_VERSION_MAJOR == 3 && CV_VERSION_MINOR >= 4 && CV_VERSION_REVISION >= 2) |
145 |
#if (CV_VERSION_MAJOR > 3 && CV_VERSION_MAJOR < 4 && CV_VERSION_MINOR < 5) || (CV_VERSION_MAJOR == 3 && CV_VERSION_MINOR >= 4 && CV_VERSION_REVISION >= 2) |
142 |
else if ( !strcmp(data->algo, "CSRT" ) ) |
146 |
else if ( !strcmp(data->algo, "CSRT" ) ) |
143 |
{ |
147 |
{ |
144 |
data->tracker = cv::TrackerCSRT::create(); |
148 |
data->tracker = cv::TrackerCSRT::create(); |
Lines 152-157
static void analyze( mlt_filter filter, cv::Mat cvFrame, private_data* data, int
Link Here
|
152 |
{ |
156 |
{ |
153 |
data->tracker = cv::TrackerMIL::create(); |
157 |
data->tracker = cv::TrackerMIL::create(); |
154 |
} |
158 |
} |
|
|
159 |
#if CV_VERSION_MAJOR < 4 && CV_VERSION_MINOR < 5 |
155 |
else if ( !strcmp(data->algo, "TLD" ) ) |
160 |
else if ( !strcmp(data->algo, "TLD" ) ) |
156 |
{ |
161 |
{ |
157 |
data->tracker = cv::TrackerTLD::create(); |
162 |
data->tracker = cv::TrackerTLD::create(); |
Lines 160-165
static void analyze( mlt_filter filter, cv::Mat cvFrame, private_data* data, int
Link Here
|
160 |
{ |
165 |
{ |
161 |
data->tracker = cv::TrackerBoosting::create(); |
166 |
data->tracker = cv::TrackerBoosting::create(); |
162 |
} |
167 |
} |
|
|
168 |
#endif // CV_VERSION_MAJOR < 4 && CV_VERSION_MINOR < 5 |
163 |
#else |
169 |
#else |
164 |
if ( data->algo == NULL || !strcmp(data->algo, "" ) ) |
170 |
if ( data->algo == NULL || !strcmp(data->algo, "" ) ) |
165 |
{ |
171 |
{ |
Lines 224-230
static void analyze( mlt_filter filter, cv::Mat cvFrame, private_data* data, int
Link Here
|
224 |
if ( data->boundingBox.height <1 ) { |
230 |
if ( data->boundingBox.height <1 ) { |
225 |
data->boundingBox.height = 50; |
231 |
data->boundingBox.height = 50; |
226 |
} |
232 |
} |
|
|
233 |
#if CV_VERSION_MAJOR < 4 && CV_VERSION_MINOR < 5 |
227 |
if ( data->tracker->init( cvFrame, data->boundingBox ) ) { |
234 |
if ( data->tracker->init( cvFrame, data->boundingBox ) ) { |
|
|
235 |
#else |
236 |
{ |
237 |
data->tracker->init( cvFrame, data->boundingBox ); |
238 |
#endif |
228 |
data->initialized = true; |
239 |
data->initialized = true; |
229 |
data->analyze = true; |
240 |
data->analyze = true; |
230 |
data->last_position = position - 1; |
241 |
data->last_position = position - 1; |