Skip to content
Snippets Groups Projects
Commit 79cbe7c2 authored by Rioux Jeremy's avatar Rioux Jeremy
Browse files

le direct marche

parent 429fc6de
No related branches found
No related tags found
No related merge requests found
No preview for this file type
...@@ -68,7 +68,7 @@ class Main: ...@@ -68,7 +68,7 @@ class Main:
cv2.destroyAllWindows() cv2.destroyAllWindows()
if __name__ == "__main__": if __name__ == "__main__":
main = Main("vid4.mp4", "video") main = Main("vid4.mp4", "direct")
main.run() main.run()
def is_ready(): def is_ready():
......
...@@ -19,10 +19,8 @@ class VideoManager: ...@@ -19,10 +19,8 @@ class VideoManager:
self.video_type = video_type self.video_type = video_type
if self.video_type == "video": if self.video_type == "video":
self.cap = cv2.VideoCapture(self.video_file) self.cap = cv2.VideoCapture(self.video_file)
elif self.video_type == "camera": elif self.video_type == "direct":
self.cam_index = self.select_camera() self.cap = cv2.VideoCapture(0)
self.cam_index = 0
self.cap = cv2.VideoCapture(self.cam_index)
self.fps = int(self.cap.get(cv2.CAP_PROP_FPS)) self.fps = int(self.cap.get(cv2.CAP_PROP_FPS))
self.total_frames = int(self.cap.get(cv2.CAP_PROP_FRAME_COUNT)) self.total_frames = int(self.cap.get(cv2.CAP_PROP_FRAME_COUNT))
self.over = False self.over = False
...@@ -68,20 +66,24 @@ class VideoManager: ...@@ -68,20 +66,24 @@ class VideoManager:
def update_frame(self): def update_frame(self):
frame_time = time.time() - self.current_time if self.video_type == "video":
self.current_time = time.time() self.current_time = time.time()
self.time = self.current_time - self.start_time self.time = self.current_time - self.start_time
self.current_frame = int(self.cap.get(cv2.CAP_PROP_POS_FRAMES)) self.current_frame = int(self.cap.get(cv2.CAP_PROP_POS_FRAMES))
frame_targeted = int(self.time * self.fps) frame_targeted = int(self.time * self.fps)
jump_frame = frame_targeted - self.current_frame jump_frame = frame_targeted - self.current_frame
for _ in range(jump_frame): for _ in range(jump_frame):
ret, self.frame = self.cap.read() ret, self.frame = self.cap.read()
if not ret: if not ret:
self.over = True self.over = True
break break
self.frame = cv2.resize(self.frame, (self.parameters.width, self.parameters.height)) self.frame = cv2.resize(self.frame, (self.parameters.width, self.parameters.height))
self.current_frame += 1 self.current_frame += 1
elif self.video_type == "direct":
self.update_frame_easy()
self.current_frame += 1
def update_frame_easy(self): def update_frame_easy(self):
_, self.frame = self.cap.read() _, self.frame = self.cap.read()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment