利用Python+OpenCV对视频抽帧保存为JPG图像

打印 上一主题 下一主题

主题 1749|帖子 1749|积分 5247

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
利用Python+OpenCV对视频抽帧保存为JPG图像

  1. import os
  2. import cv2
  3. import time
  4. #视频文件夹路径,可修改
  5. videoPath = 'D:\\video\\'
  6. #保存的图片文件夹路径,可修改
  7. savePath = 'D:\\images\\'
  8. videolist = os.listdir(videoPath)
  9. if not os.path.exists(savePath):
  10.     os.mkdir(savePath)
  11. video_num = 0
  12. for video in videolist:
  13.     if(video.endswith(".avi")):
  14.         c = 1
  15.         videofile = videoPath + video
  16.         vc = cv2.VideoCapture(videofile) #读入视频文件
  17.         if vc.isOpened(): #判断是否正常打开
  18.             video_num = video_num + 1
  19.             rval , frame = vc.read()
  20.             #print("正常打开:",video)
  21.             if(video_num%100 == 0):
  22.                 print(video_num)
  23.         else:
  24.             rval = False
  25.             print("打开失败:",video)
  26.             continue
  27.         timeF = 25  #视频帧计数间隔频率,可修改
  28.         try:
  29.             while rval:   #循环读取视频帧
  30.                 rval, frame = vc.read()
  31.                 if(c%timeF == 0): #每隔timeF帧进行存储操作
  32.                     cv2.imwrite(savePath + video[:-4] + '_' + str(time.time_ns()) + '.jpg',frame) #存储为图像
  33.                 c = c + 1
  34.                 cv2.waitKey(1)
  35.         except:
  36.             #print("error")
  37.             continue
  38.         vc.release()
复制代码
以上代码可以修改timeF变量控制抽帧间隔频率。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

火影

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表