Skip to content

Commit d3d38b3

Browse files
committed
added progress bar
Signed-off-by: Mpho Mphego <mpho112@gmail.com>
1 parent b7f370e commit d3d38b3

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

main.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,9 @@ def main(args):
137137
video_feed = InputFeeder(input_file=args.input)
138138

139139
for frame in video_feed.next_frame():
140-
video_feed.show(frame)
140+
if args.debug:
141+
video_feed.show(frame)
142+
141143
video_feed.close()
142144

143145

src/input_feeder.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import os
33

44
import cv2
5+
from tqdm import tqdm
56

67
from loguru import logger
78
from numpy import ndarray
@@ -38,6 +39,7 @@ def __init__(self, input_file=None):
3839
assert isinstance(self._input_type, str)
3940
except AssertionError:
4041
self._input_type = ""
42+
self._progress_bar = None
4143
self.load_data()
4244

4345
def load_data(self):
@@ -70,6 +72,12 @@ def video_len(self):
7072
def fps(self):
7173
return int(self.cap.get(cv2.CAP_PROP_FPS))
7274

75+
@property
76+
def progress_bar(self):
77+
if not self._progress_bar:
78+
self._progress_bar = tqdm(total=int(self.video_len - self.fps + 1))
79+
return self._progress_bar
80+
7381
def show(self, frame, frame_name="video"):
7482
cv2.imshow(frame_name, frame)
7583

@@ -86,6 +94,7 @@ def write_video(self, output_path=".", filename="output_video.mp4"):
8694
def next_frame(self, quit_key="q"):
8795
"""Returns the next image from either a video file or webcam."""
8896
while self.cap.isOpened():
97+
self.progress_bar.update(1)
8998
flag = False
9099
for _ in range(1):
91100
flag, frame = self.cap.read()
@@ -104,5 +113,7 @@ def close(self):
104113
"""Closes the VideoCapture."""
105114
if "image" in self._input_type:
106115
self.cap.release()
116+
if self.progress_bar:
117+
self.progress_bar.close()
107118
cv2.destroyAllWindows()
108119
logger.info("============ CleanUp! ============")

0 commit comments

Comments
 (0)