opencv 视频采集的 tqdm 进度条超过 100%

Viv*_*and 3 python opencv video-capture video-processing tqdm

我正在 python 中使用 Opencv 处理视频并使用 tqdm 显示进度条。然而,进展超过了100%。不太确定为什么会发生这种情况。

我是 opencv 的新手,所以我可能会传递错误的参数来执行我的意图。

我尝试了几种方法。将它们列出来。

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)
    
Run Code Online (Sandbox Code Playgroud)

我有一个叫做的计数器count,基本上是跳过视频 5 秒。

小智 5

当使用 tqdm 进行手动更新时,您可以指定增量的步骤,而不是当前的位置。

来自手册

with tqdm(total=100) as pbar:
    for i in range(10):
        sleep(0.1)
        pbar.update(10)
Run Code Online (Sandbox Code Playgroud)

所以你应该做的就是拥有pbar.update(fps*5)