import os
import cv2
import shutil
from PIL import Image
import datetime# 将视频拆分为图片
def splitFrames(video_dir_path):''':param video_dir_path: 视频所在的目录:return:'''start = datetime.datetime.now()print('开始时间:', start)for index, i in enumerate(os.listdir(video_dir_path)):if i.endswith('.mp4'):video_full_path = os.path.join(video_dir_path, i)cap = cv2.VideoCapture(video_full_path)num = 0video_name_1 = i.split('.')[0]os.mkdir(video_dir_path + '/' + video_name_1)while True:ret, data = cap.read()if not ret:breakimg = Image.fromarray(cv2.cvtColor(data, cv2.COLOR_BGR2GRAY))  # 重建图像  灰度name = video_name_1 + "_" + str(num) + ".png"img_dir_path = video_dir_path + '/' + video_name_1img.save(os.path.join(img_dir_path, name))  # 保存当前帧的图像num = num + 1cap.release()end = datetime.datetime.now()print("视频拆分结束!", end)print((end - start).seconds)# 将拆分后的视频文件移动到某个文件夹中放到一起
def move_from_dir_to_path(old_dir_path, new_dir_path):''':param old_dir_path: 旧的视频拆分后的大文件夹:param new_dir_path: 目标文件夹:return:'''for i in os.listdir(old_dir_path):if i.startswith('.'):continueif i.endswith('.mp4'):continuedir_path = os.path.join(old_dir_path, i)dir_li = os.listdir(dir_path)for j in dir_li:shutil.move(os.path.join(dir_path, j), new_dir_path)

OpenCV将视频拆分为为图片相关推荐

  1. opencv读取视频并保存为图片

    1.功能: opencv读取指定文件夹中的视频文件,按照一定的间隔截取某些帧,将这些帧图像连续命名,存储在指定文件夹里. 2.代码如下: (1)IplImage #include <stdlib ...

  2. 用OpenCV将视频分解成单帧图片,图片合成视频

    本文做的是基于opencv将视频帧转成图片输出,由于一个视频包含的帧数过多,经常我们并不是需要它的全部帧转成图片,因此我们希望可以设置每隔多少帧再转一次图片(本文设置为30帧),若有人需求是只需要前多 ...

  3. python图片转视频加特效_使用Python opencv实现视频与图片的相互转换

    因为最近要经常转换数据集进行实验,因此记录一下. 1.视频转图片 即为将视频解析为一帧一帧的图片: import cv2 vc=cv2.VideoCapture("/home/hqd/Pyc ...

  4. C#拆分PPT、PPT转视频、PPT转图片

    C#拆分PPT.PPT转视频.PPT转图片 导入dll 1. 拆分PPT 2.PPT转视频 3.PPT转图片 导入dll using Microsoft.Office.Core; using Powe ...

  5. python opencv PIL 视频分割成图片 图片合成为视频 修改图片大小(抗锯齿)

    Python代码将原有的视频分割成图片,我的例子是一帧一帧的分割 用python+opencv完成视频的分割 import cv2 #导入opencv模块 print(2) #测试是否运行 vc=cv ...

  6. 图像处理之opencv保存视频图片

    OpenCV: OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux.Windows.Android和Mac OS操作系统上.它轻量级而且高效--由一系列 C 函数和 ...

  7. OpenCV将视频转存为一帧帧的图片(Python)

    利用OpenCV将视频逐帧保存,代码如下. #coding=utf-8 import cv2 import ospath = 'video' video_list = os.listdir(path) ...

  8. Python:视频拆分成一帧一帧的图片

    简介:在AI的数据集采集视频相关的测试中,可能需要将视频拆分成一帧一帧的图片进行保存,然后在从关键帧中定位问题或标注等.我们可以通过cv库对视频进行分成一帧帧的图片进行保存,相当于图片转视频的反向操作 ...

  9. C++Opencv实时读取摄像头视频保存指定帧图片

    空格截图到指定文档 string writePath = "../temp/"; int main(int argc, char** argv){VideoCapture capt ...

最新文章

  1. CF里面的资源载入问题
  2. 十分钟就能回顾Spring常问的知识点,带你突击面试没问题!
  3. CTF web题总结--SSRF
  4. vim、g++、gdb及makefile的学习
  5. 复习(一)—— Shell基本编程
  6. 【精解】Exchange Server 2007群集连续复制
  7. 03SpringMVC,Spring,Hibernate整合(Date时间转换)
  8. Java技术:干掉 XML配置文件,新出的 Fluent Mybatis 技术真香!
  9. 77. 组合016(回溯法)
  10. 如何用python写个人专属群聊提醒小助手?
  11. eclipse 导出jar 没有主清单属性的解决方法
  12. 2019蓝桥杯C++B组 年号字串;完全二叉树的权值
  13. python函数的面向对象——面向对象设计
  14. 实施工程师是干嘛的_CTO大怒:300万建设数据中台,啥也没看见,我要它干嘛?...
  15. [数据仓库]基础理论笔记
  16. 《精通JavaScript》总结
  17. mavonEditor编辑器的使用
  18. PC Logo入门指南
  19. android 微信自动添加好友 项目开源
  20. git的一些撤销/回退操作

热门文章

  1. 卧槽!女友可以生成?美国小哥生成了一个AI女友躲避催婚
  2. 什么是java中的栈和堆_java中的堆和栈是什么?堆和栈有什么区别?
  3. 计算机教学总结经验交流稿,计算机教师工作总结发言
  4. python 小说词频统计,jieba库实例
  5. java的map是什么_java的map是什么?
  6. 最新初中级前端面试题总结
  7. A First Look At Java
  8. mysql初始密码的获取以及修改超级用户密码的方法
  9. 快手爬虫,解决粉丝数,关注数等字体加密!python快手爬虫
  10. 零售业如何抓住机遇?“主动出击”才是首选