From b98f07d984dff6718d7184ed1bf68709f4dae348 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Fri, 12 Apr 2013 11:40:43 +0200 Subject: reduce CPU usage during tracking --- ftnoir_tracker_pt/camera.cpp | 4 ++-- ftnoir_tracker_pt/ftnoir_tracker_pt.cpp | 15 +++++++-------- 2 files changed, 9 insertions(+), 10 deletions(-) (limited to 'ftnoir_tracker_pt') diff --git a/ftnoir_tracker_pt/camera.cpp b/ftnoir_tracker_pt/camera.cpp index 96ba3b89..90fcfaaf 100644 --- a/ftnoir_tracker_pt/camera.cpp +++ b/ftnoir_tracker_pt/camera.cpp @@ -92,8 +92,8 @@ bool CVCamera::_get_frame(Mat* frame) { Mat tmp; bool ret = cap->read(tmp); - if (ret) - flip(tmp, *frame, 0); + //if (ret) + // flip(tmp, *frame, 0); return ret; } diff --git a/ftnoir_tracker_pt/ftnoir_tracker_pt.cpp b/ftnoir_tracker_pt/ftnoir_tracker_pt.cpp index b4cb613b..96017d52 100644 --- a/ftnoir_tracker_pt/ftnoir_tracker_pt.cpp +++ b/ftnoir_tracker_pt/ftnoir_tracker_pt.cpp @@ -66,7 +66,6 @@ void Tracker::run() { { - refreshVideo(); QMutexLocker lock(&mutex); if (should_quit) break; @@ -84,14 +83,16 @@ void Tracker::run() const std::vector& points = point_extractor.extract_points(frame, dt, draw_frame); tracking_valid = point_tracker.track(points, camera.get_info().f, dt); frame_count++; + fresh = true; } #ifdef PT_PERF_LOG log_stream<<"dt: "< > points; { - QMutexLocker lock(&mutex); +//QMutexLocker lock(&mutex); if (!draw_frame || frame.empty()) return; // copy the frame and points from the tracker thread @@ -157,8 +158,7 @@ void Tracker::refreshVideo() } video_widget->update_image(frame_copy, points); - fresh = true; - } + } } void Tracker::StartTracker(QFrame* videoframe) @@ -194,7 +194,6 @@ void Tracker::paint_widget() { bool Tracker::GiveHeadPoseData(THeadPoseData *data) { - refreshVideo(); const float rad2deg = 180.0/3.14159265; const float deg2rad = 1.0/rad2deg; { @@ -245,7 +244,7 @@ bool Tracker::GiveHeadPoseData(THeadPoseData *data) data->yaw = rad2deg * alpha; } if (bEnablePitch) { - data->pitch = -rad2deg * beta; + data->pitch = rad2deg * beta; } if (bEnableRoll) { data->roll = rad2deg * gamma; -- cgit v1.2.3