如何在OpenCV提取视频帧为图片时统计并打印成功提取的总帧数?
视频帧提取后统计总帧数的实现方案
你可以通过调整代码逻辑,确保只对成功读取的帧进行计数和保存,最后直接打印统计结果。修正后的代码如下:
import cv2 vidcap = cv2.VideoCapture('car.mp4') count = 0 # 循环读取并保存视频帧 while True: success, image = vidcap.read() if not success: break # 读取失败时终止循环 # 保存当前帧为JPEG文件 cv2.imwrite("frame%d.jpg" % count, image) count += 1 # 打印成功提取的总帧数 print("Total frames: ", count)
关键改动说明
- 移除了原代码中多余的初始帧读取操作,避免帧丢失
- 调整循环逻辑:先读取帧,确认读取成功后再执行保存和计数操作,避免无效写入空帧
- 循环结束后,
count变量的值即为成功提取的总帧数,直接打印即可
内容的提问来源于stack exchange,提问作者user20437152
相关产品推荐
相关产品推荐

