48 lines
1.2 KiB
Python
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()
|