File tree 5 files changed +2017
-1779
lines changed
tests/regression_test/data
5 files changed +2017
-1779
lines changed Original file line number Diff line number Diff line change @@ -285,4 +285,23 @@ inline clock_t getElapsedTime()
285
285
return diffTime;
286
286
}
287
287
288
+ /* *
289
+ * Computes the median of the values in a given vector.
290
+ * @tparam T any sortable type
291
+ * @param data vector for which the median should be computed
292
+ * @return median of all values in data
293
+ */
294
+ template <typename T>
295
+ T computeMedian (std::vector<T> data)
296
+ {
297
+ if ((data.size () % 2 ) != 0U )
298
+ {
299
+ std::nth_element (data.begin (), data.begin () + data.size () / 2 , data.end ());
300
+ return data[data.size () / 2 ];
301
+ }
302
+
303
+ std::nth_element (data.begin (), data.begin () + data.size () / 2 , data.end ());
304
+ std::nth_element (data.begin (), data.begin () + (data.size () - 1 ) / 2 , data.end ());
305
+ return 0.5 * (data[data.size () / 2 ] + data[(data.size () - 1 ) / 2 ]);
306
+ }
288
307
#endif
Original file line number Diff line number Diff line change 30
30
31
31
class PersonStorage ;
32
32
33
+ struct MissingFrame
34
+ {
35
+ size_t mNumber ; // < frame number, where mCount of frames are missing
36
+ int mCount ; // < count of frames missing between frame mNumber and mNumber+1
37
+ };
38
+
33
39
// point in x/y in cm
34
40
class TrackPointReal : public Vec3F
35
41
{
@@ -139,6 +145,7 @@ class TrackerReal : public QList<TrackPersonReal>
139
145
// mControlWidget->getColorPlot()
140
146
// petrack...mImageItem
141
147
int calculate (
148
+ Petrack *petrack,
142
149
Tracker *tracker,
143
150
ImageItem *imageItem,
144
151
ColorPlot *colorPlot,
@@ -171,8 +178,22 @@ class TrackerReal : public QList<TrackPersonReal>
171
178
bool exportAngleOfView,
172
179
bool exportUseM,
173
180
bool exportMarkerID);
174
- void exportDat (QTextStream &out, bool alternateHeight, bool useTrackpoints); // fuer gnuplot
175
- void exportXml (QTextStream &outXml, bool alternateHeight, bool useTrackpoints);
181
+ void exportDat (QTextStream &out, bool alternateHeight, bool useTrackpoints); // fuer gnuplot
182
+ void exportXml (QTextStream &outXml, bool alternateHeight, bool useTrackpoints);
183
+ std::vector<MissingFrame> computeDroppedFrames (Petrack *petrack);
176
184
};
177
185
186
+ namespace utils
187
+ {
188
+ std::vector<MissingFrame>
189
+ detectMissingFrames (const std::vector<std::unordered_map<int , double >> &displacementsPerFrame);
190
+
191
+ std::vector<std::unordered_map<int , double >> computeDisplacement (
192
+ int minFrameNum,
193
+ int maxFrameNum,
194
+ Petrack *petrack,
195
+ const std::vector<std::vector<cv::Point2f>> &personsInFrame,
196
+ const std::vector<std::vector<int >> &idsInFrame);
197
+ } // namespace utils
198
+
178
199
#endif
Original file line number Diff line number Diff line change @@ -2919,6 +2919,7 @@ int Petrack::calculateRealTracker()
2919
2919
mMultiColorMarkerWidget ->autoCorrect ->isChecked () &&
2920
2920
mMultiColorMarkerWidget ->autoCorrectOnlyExport ->isChecked ();
2921
2921
int anz = mTrackerReal ->calculate (
2922
+ this ,
2922
2923
mTracker ,
2923
2924
mImageItem ,
2924
2925
mControlWidget ->getColorPlot (),
@@ -3101,6 +3102,7 @@ void Petrack::exportTracker(QString dest) // default = ""
3101
3102
tstart = clock ();
3102
3103
#endif
3103
3104
mTrackerReal ->calculate (
3105
+ this ,
3104
3106
mTracker ,
3105
3107
mImageItem ,
3106
3108
mControlWidget ->getColorPlot (),
@@ -3221,6 +3223,7 @@ void Petrack::exportTracker(QString dest) // default = ""
3221
3223
mPersonStorage .recalcHeight (mControlWidget ->coordAltitude ->value ());
3222
3224
}
3223
3225
mTrackerReal ->calculate (
3226
+ this ,
3224
3227
mTracker ,
3225
3228
mImageItem ,
3226
3229
mControlWidget ->getColorPlot (),
@@ -3279,6 +3282,7 @@ void Petrack::exportTracker(QString dest) // default = ""
3279
3282
}
3280
3283
3281
3284
mTrackerReal ->calculate (
3285
+ this ,
3282
3286
mTracker ,
3283
3287
mImageItem ,
3284
3288
mControlWidget ->getColorPlot (),
You can’t perform that action at this time.
0 commit comments