-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.py
39 lines (35 loc) · 1.35 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
from Classify_Image import *
from Process_Image import *
from Display_Video import *
from Count_Objects import *
import pandas as pd
import cv2
# zmiana sposobu wyświetlania danych typu float
pd.options.display.float_format = "{:.2f}".format
if __name__ == '__main__':
path_to_vid = './model/PA_1.avi'
# wczytanie obrazu
q = cv2.VideoCapture(path_to_vid)
data_for_counter = []
if not q.isOpened():
print("Error opening video stream or file")
i = 0
while q.isOpened():
ret, frame = q.read()
i = i + 1
if (i > 125):
if ret:
cv2.imshow('Frame', frame) # wyświetlamy aktualną klatkę
lo, tc = ekstrakcja_cech(frame) # ekstrachujemy cechy
cff = classify_frame(tc) # klasyfykujemy obiekty na podstawie ich cech
data_for_counter.append(cff)
cv2.waitKey(100) # opcjonalne spowolnienie
clear() # czyścimy widok w konsoli
# print('\n')
if i == 2288:
break
# pokaz_wiele(lo, 2, listatyt=ile_figur, colmap='winter') # na życzenie pokazujemy wykryte obiekty
if cv2.waitKey(1) & 0xFF == ord('q'): # dodaje możliwość zamknięcia programu wysyłając klawisz q
break
count_objects(data_for_counter)
destroy_vid(q)