pi-lego-spike/cam-sample.py

48 lines
1.2 KiB
Python

import cv2
import time
# Initialize video capture
capture = cv2.VideoCapture(0)
capture.set(cv2.CAP_PROP_FRAME_WIDTH, 1024)
capture.set(cv2.CAP_PROP_FRAME_HEIGHT, 576)
capture.set(cv2.CAP_PROP_FPS, 30) # Requesting 30 FPS from the camera
# Background subtractor
bg_subtractor = cv2.createBackgroundSubtractorMOG2()
# Current mode
mode = "normal"
# FPS calculation
prev_time = time.time()
# Video writer initialization with explicit FPS
save_fps = 15.0 # Adjust this based on your actual processing speed
fourcc = cv2.VideoWriter_fourcc(*"XVID")
out = cv2.VideoWriter("output.avi", fourcc, save_fps, (1024, 576))
# Sprawdź, czy kamera została poprawnie otwarta
if not capture.isOpened():
print("Nie można otworzyć kamery!")
exit()
while True:
# Przeczytaj jedną klatkę z kamery
ret, frame = capture.read()
# Jeśli nie udało się odczytać klatki - przerwij
if not ret:
print("Nie udało się odczytać klatki!")
break
# Pokaż klatkę w oknie
cv2.imshow('Podgląd z kamery', frame)
# Przerwij pętlę po naciśnięciu klawisza 'q'
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# Zwolnij zasoby
capture.release()
cv2.destroyAllWindows()