用Python跳帧截取视频帧

可以自由设定时长来截取视频,经实测效果理想。期间遇到的一个麻烦是我的视频文件在D:盘,在原视频D盘目录上不能保存截取的图片文件,后改为在C:盘上保存,正常。具体原因不明,有网友知道原因所在,请告知。

import cv2
import os

def save_img():
    video_path =r'读入视频路径'
    videos = os.listdir(video_path)
    for video_name in videos:
         videopath=video_path+'\\'+video_name
         print(videopath)
         vc = cv2.VideoCapture(videopath) #读入视频文件      
         c = 1
         if vc.isOpened():  # 判断是否正常打开
            rval, frame = vc.read()
         else:
            rval = False 
         timeF = 300  # 视频帧计数间隔频率
         a=1
         while rval:  # 循环读取视频帧
            rval, frame = vc.read()
            if (c % timeF == 0):  # 每隔timeF帧进行存储操作
                print(video_path+'\\' + str(a) + '.jpg')
                #不能在D:盘原视频目录上保存图像文件,原因不明
                cv2.imwrite(r'保存图片文件路径 '+'\\'+ str(a) + '.jpg', frame)
                cv2.imshow('Video',frame)
                a+=1
            c = c + 1
            m=cv2.waitKey(1)
         vc.release()
save_img()

你可能感兴趣的:(网上收集python相关资料,python,计算机等级考试,python,视频截取)