目录
对本地视频进行分帧处理(图片)及保存
环境:Python 3.9.6 opencv3.4
说明:代码里有详细的说明
代码如下:
import cv2
import os
# 利用VideoCapture捕获视频,这里使用本地视频
cap = cv2.VideoCapture("2.MP4")
#cap = cv2.VideoCapture("1")
# 创建文件用来保存视频帧
save_path = os.makedirs("tupian")
# 截图的图片命名
imgPath = ""
# 视频帧总数
sum = cap.get(7)
# 浮点型转整型,计算截取的帧数间隔,这里将截取60张图片 如有修改 切记下列逻辑运算符也一并修改
time = (int)(sum / 60)
# 重置视频总帧数
sum = 0
# 需要截取的图片数量
i = 0
while True:
ret, frame = cap.read()
# 读取视频帧
if ret == False:
# 判断是否读取成功
break
sum += 1
if sum % time == 0 and i < 60:
i += 1
# 使用i为图片命名
imgPath = "tupian/%s.jpg" % str(i)
# 将提取的视频帧存储进imgPath
cv2.imwrite(imgPath, frame)
print("分帧成功") # 提取结束,打印分帧成功
处理效果: