diff options
Diffstat (limited to 'plugins/motion_capture/tracker.py')
| -rw-r--r-- | plugins/motion_capture/tracker.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/plugins/motion_capture/tracker.py b/plugins/motion_capture/tracker.py index ffc9f25..8dc89f1 100644 --- a/plugins/motion_capture/tracker.py +++ b/plugins/motion_capture/tracker.py @@ -128,7 +128,8 @@ class CameraTracker: # ── Start / stop ────────────────────────────────────────────────────── def start(self, camera_index: int = 0, - resolution: Optional[Tuple[int, int]] = None) -> bool: + resolution: Optional[Tuple[int, int]] = None, + fps: Optional[int] = None) -> bool: self.stop() self._running = True @@ -145,6 +146,8 @@ class CameraTracker: if resolution: cap.set(cv2.CAP_PROP_FRAME_WIDTH, resolution[0]) cap.set(cv2.CAP_PROP_FRAME_HEIGHT, resolution[1]) + if fps: + cap.set(cv2.CAP_PROP_FPS, fps) if cap.isOpened(): with self._lock: self._cap = cap @@ -271,6 +274,9 @@ class CameraTracker: with self._lock: return self._lost + def is_running(self) -> bool: + return self._running and self._thread is not None and self._thread.is_alive() + @property def fps(self) -> float: return self._fps |
