cv2读取视频每10帧保存一张图像

读取本地mp4视频,每隔10帧保存一张图像到本地

# 导入所有必要的库
import cv2
import os

RootDir = '/Users/billiards'
SaveDir = os.path.join(RootDir,'data')
# 从指定的路径读取视频
cam = cv2.VideoCapture(os.path.join(RootDir, '1.mp4'))

try:
    # 创建保存图片的文件夹
    if not os.path.exists(SaveDir):
        os.makedirs(SaveDir)
# 如果未创建,则引发错误
except OSError:
    print('Error: Creating directory of data')

# frame
currentframe = 0

while (True):
    # reading from frame
    ret, frame = cam.read()
    if ret:
        # 如果视频仍然存在,继续创建图像
        name = SaveDir + '/frame' + str(currentframe) + '.jpg'
        print('Creating...' + name)
        if currentframe % 10 == 0: #每10帧保存一帧
        # 写入提取的图像
            cv2.imwrite(name, frame)
        # 增加计数器,以便显示创建了多少帧
        currentframe += 1
    else:
        break

# 一旦完成释放所有的空间和窗口
cam.release()
cv2.destroyAllWindows()

你可能感兴趣的:(python,opencv-python)