Skip to content

Commit 3c92a04

Browse files
authored
Merge pull request #492 from Nuzhny007/master
Time points for tracking
2 parents 924264d + a4884dc commit 3c92a04

49 files changed

Lines changed: 379 additions & 1243 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CMakeLists.txt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,6 @@ else(HAVE_FILESYSTEM)
5050
message("Do not found filesystem header")
5151
endif(HAVE_FILESYSTEM)
5252

53-
option(BUILD_ABANDONED_DETECTOR "Should compiled abandoned detector example?" OFF)
54-
if (BUILD_ABANDONED_DETECTOR)
55-
add_definitions(-DBUILD_ABANDONED_DETECTOR)
56-
add_subdirectory(combined)
57-
endif(BUILD_ABANDONED_DETECTOR)
58-
5953
option(BUILD_EXAMPLES "Should compiled examples (motion detection, pedestrians, faces, DNNs etc)?" ON)
6054
if (BUILD_EXAMPLES)
6155
add_subdirectory(example)

async_detector/AsyncDetector.cpp

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -267,6 +267,8 @@ void AsyncDetector::CaptureThread(std::string fileName, int startFrame, int* fra
267267
*framesCount = cvRound(capture.get(cv::CAP_PROP_FRAME_COUNT));
268268
capture.set(cv::CAP_PROP_POS_FRAMES, startFrame);
269269

270+
time_point_t startTimeStamp = std::chrono::system_clock::now();
271+
270272
*fps = std::max(1.f, (float)capture.get(cv::CAP_PROP_FPS));
271273
int frameHeight = cvRound(capture.get(cv::CAP_PROP_FRAME_HEIGHT));
272274

@@ -318,13 +320,13 @@ void AsyncDetector::CaptureThread(std::string fileName, int startFrame, int* fra
318320
{
319321
trackerSettings.m_minStaticTime = minStaticTime;
320322
trackerSettings.m_maxStaticTime = 60;
321-
trackerSettings.m_maximumAllowedSkippedFrames = cvRound(trackerSettings.m_minStaticTime * (*fps)); // Maximum allowed skipped frames
322-
trackerSettings.m_maxTraceLength = 2 * trackerSettings.m_maximumAllowedSkippedFrames; // Maximum trace length
323+
trackerSettings.m_maximumAllowedLostTime = trackerSettings.m_minStaticTime; // Maximum allowed lost time
324+
trackerSettings.m_maxTraceLength = 2 * trackerSettings.m_maximumAllowedLostTime; // Maximum trace length
323325
}
324326
else
325327
{
326-
trackerSettings.m_maximumAllowedSkippedFrames = cvRound(2 * (*fps)); // Maximum allowed skipped frames
327-
trackerSettings.m_maxTraceLength = cvRound(4 * (*fps)); // Maximum trace length
328+
trackerSettings.m_maximumAllowedLostTime = 2.; // Maximum allowed lost time
329+
trackerSettings.m_maxTraceLength = 4.; // Maximum trace length
328330
}
329331

330332
// Capture the first frame
@@ -341,6 +343,7 @@ void AsyncDetector::CaptureThread(std::string fileName, int startFrame, int* fra
341343
{
342344
frame_ptr frameInfo(new FrameInfo(frameInd));
343345
frameInfo->m_dt = cv::getTickCount();
346+
frameInfo->m_frameTimeStamp = startTimeStamp + std::chrono::milliseconds(cvRound(frameInd * (1000.f / (*fps))));
344347
capture >> frameInfo->m_frame;
345348
if (frameInfo->m_frame.empty())
346349
{
@@ -412,7 +415,7 @@ void AsyncDetector::TrackingThread(const TrackerSettings& settings, FramesQueue*
412415
frame_ptr frameInfo = framesQue->GetFirstDetectedFrame();
413416
if (frameInfo)
414417
{
415-
tracker->Update(frameInfo->m_regions, frameInfo->m_clFrame, frameInfo->m_fps);
418+
tracker->Update(frameInfo->m_regions, frameInfo->m_clFrame, frameInfo->m_frameTimeStamp);
416419

417420
tracker->GetTracks(frameInfo->m_tracks);
418421
frameInfo->m_inTracker.store(FrameInfo::StateCompleted);

async_detector/AsyncDetector.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ struct FrameInfo
2929
cv::UMat m_clFrame;
3030
regions_t m_regions;
3131
std::vector<TrackingObject> m_tracks;
32+
time_point_t m_frameTimeStamp;
3233
int64 m_dt = 0;
33-
float m_fps = 0;
3434
size_t m_frameInd = 0;
3535

3636
static constexpr int StateNotProcessed = 0;

combined/CMakeLists.txt

Lines changed: 0 additions & 44 deletions
This file was deleted.

0 commit comments

Comments
 (0)