本文使用python-opencv将本地视频逐帧保存为图片(.jpg)格式,将保存的图片放在当前目录的一个文件夹内。
环境:python3.7
需要python库:opencv(cv2),os,time
代码如下:
将需要保存图片的视频文件放置在与程序同一目录下文章来源:https://www.toymoban.com/news/detail-555903.html
import cv2
import time
import os
cap = cv2.VideoCapture('./video10.mp4') #导入视频,可以将视频放入和程序所在的同一目录下,也可以放置别的目录,修改对应的路径即可,我所用的是将视频文件放置当前目录下的情况。
# saving = False
saving=True # 控制视频是否将视频逐帧保存为图片
frame_id = 0
dir1 = ""
dir1 = time.strftime("%Y_%m_%d_%H_%M_%S", time.localtime())
os.mkdir(dir1)
saving = True
frame_id = 0
while True:
# try:
_, im = cap.read()
if im is None:
break
cv2.imshow('name', im)
key = cv2.waitKey(10) & 0xFF
if saving:
file_name = dir1 + "\\" + str(frame_id)
cv2.imwrite(file_name + ".jpg", im)
frame_id += 1
if (key == ord('q')) | (key == 27):
break
# 如果需要按键控制开始视频保存为图像的时机,可以使用下面的代码。
# if key == ord('s') or key == ord('S'):
# if not saving:
# dir1 = time.strftime("%Y_%m_%d_%H_%M_%S", time.localtime())
# os.mkdir(dir1)
# saving = True
# frame_id = 0
# else:
# saving = False
#
# if saving:
# file_name = dir1 + "\\" + str(frame_id)
# cv2.imwrite(file_name + ".jpg", im)
#
# frame_id += 1
# if (key == ord('q')) | (key == 27):
# break
运行结果,当前目录下出现以时间命名的文件夹,里面保存着图片。
文章来源地址https://www.toymoban.com/news/detail-555903.html
到了这里,关于python-opencv将视频逐帧保存为图片的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!