'tqdm progressbar for opencv videocapture going beyong 100%
I am processing a video using Opencv in python and using tqdm to show the progressbar. However, the progress goes beyond 100%. Not really sure why is this happening.
I am new to opencv ,so it is possible I am passing wrong params to do what I is intended.
I have tried out a few ways. Listing them down.
cam = cv2.VideoCapture("path")
fps = cam.get(cv2.CAP_PROP_FPS)
total_frame_count = int(cam.get(cv2.CAP_PROP_FRAME_COUNT))
length = total_frame_count/fps
pbar = tqdm(total = total_frame_count)
count = 0
while(True):
ret,frame = cam.read()
pbar.update(count)
# process(frame)
count += fps*5
cam.set(cv2.CAP_PROP_POS_FRAMES, count)
I have a counter called count
which is basically to skip the video 5 secs.
Solution 1:[1]
When using tqdm with manual updates you specify the step with which you increment not where you are currently.
From the manual
with tqdm(total=100) as pbar:
for i in range(10):
sleep(0.1)
pbar.update(10)
So what you should do is simply to have pbar.update(fps*5)
.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | VRehnberg |