diff --git a/src/orisys/sensor.py b/src/orisys/sensor.py index 2b87cd9..5bef4d1 100644 --- a/src/orisys/sensor.py +++ b/src/orisys/sensor.py @@ -160,13 +160,10 @@ class Sensor: Returns: np.ndarray: Processed grayscale image """ - t0 = time.perf_counter() ret, frame = self.cap.read() if not ret: print("Failed to get_img from video source.") return None - t1 = time.perf_counter() - print(f"read frame time: {t1 - t0} seconds") # Convert to grayscale gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) @@ -414,18 +411,8 @@ class Sensor: def _open_video_source(self, override, box): """Initialize video capture and calibration.""" - # Use DirectShow backend on Windows for cameras (more stable than MSMF) - if isinstance(self.vid_src, int): - # For camera indices, try DirectShow first (avoids MSMF errors) - try: - self.cap = cv2.VideoCapture(self.vid_src, cv2.CAP_DSHOW) - except: - # Fallback to default backend - self.cap = cv2.VideoCapture(self.vid_src) - else: - # For file paths, use default backend - self.cap = cv2.VideoCapture(self.vid_src) - + + self.cap = cv2.VideoCapture(self.vid_src) # Set buffer size to 1 to reduce latency and avoid frame accumulation self.cap.set(cv2.CAP_PROP_BUFFERSIZE, 1) self.cap.set(cv2.CAP_PROP_FOURCC, cv2.VideoWriter.fourcc('M', 'J', 'P', 'G'))