本文实例为大家分享了python实现视频分帧的具体代码,供大家参考,具体内容如下

import cv2

vidcap = cv2.VideoCapture('005.avi')

success,image = vidcap.read()

count = 0

success = True

while success:

success,image = vidcap.read()

cv2.imwrite("frame%d.jpg" % count, image) # save frame as JPEG file

if cv2.waitKey(10) == 27:

break

count += 1

python tools:将视频的每一帧提取并保存

# coding=utf-8

import os

import cv2

videos_src_path = "/home/wgp/视频/"

video_formats = [".MP4", ".MOV"]

frames_save_path = "/home/wgp/视频/"

width = 320

height = 240

time_interval = 50

def video2frame(video_src_path, formats, frame_save_path, frame_width, frame_height, interval):

"""

将视频按固定间隔读取写入图片

:param video_src_path: 视频存放路径

:param formats: 包含的所有视频格式

:param frame_save_path: 保存路径

:param frame_width: 保存帧宽

:param frame_height: 保存帧高

:param interval: 保存帧间隔

:return: 帧图片

"""

videos = os.listdir(video_src_path)

def filter_format(x, all_formats):

if x[-4:] in all_formats:

return True

else:

return False

videos = filter(lambda x: filter_format(x, formats), videos)

for each_video in videos:

print "正在读取视频:", each_video

each_video_name = each_video[:-4]

os.mkdir(frame_save_path + each_video_name)

each_video_save_full_path = os.path.join(frame_save_path, each_video_name) + "/"

each_video_full_path = os.path.join(video_src_path, each_video)

cap = cv2.VideoCapture(each_video_full_path)

frame_index = 0

frame_count = 0

if cap.isOpened():

success = True

else:

success = False

print("读取失败!")

while(success):

success, frame = cap.read()

print "---> 正在读取第%d帧:" % frame_index, success

if frame_index % interval == 0:

resize_frame = cv2.resize(frame, (frame_width, frame_height), interpolation=cv2.INTER_AREA)

# cv2.imwrite(each_video_save_full_path + each_video_name + "_%d.jpg" % frame_index, resize_frame)

cv2.imwrite(each_video_save_full_path + "%d.jpg" % frame_count, resize_frame)

frame_count += 1

frame_index += 1

cap.release()

if __name__ == '__main__':

video2frame(videos_src_path, video_formats, frames_save_path, width, height, time_interval)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

python快速检测视频跳过帧_python实现视频分帧效果相关推荐

  1. OpenCV视频写入详解_Python,视频保存0kb问题

    我真的是栓q,搞了两晚,保存的视频一直是0kb,什么方式都用了.直到看到下面这个大佬的解释才明白,可能是我电脑视频编码不太对.本来就是想学习一下,跟着老师做一直不对. 将cv2 VideoWriter ...

  2. python视频转字符动画_Python实现视频转字符动画

    导语 又到了愉快地周末,应某好友的要求,本周来补一期视频转字符动画相关的内容,核心主题是将蔡徐坤打球的视频转成字符动画.我也不知道为什么,真的不知道,真的真的不知道为什么.嗯,重要的话说三遍.说干就干 ...

  3. python快速检测视频跳过帧_使用Python实现跳帧截取视频帧

    本文实例为大家分享了Python跳帧截取视频帧的具体代码,供大家参考,具体内容如下 可以自由设定时长来截取视频,经实测效果理想.期间遇到的一个麻烦是我的视频文件在D:盘,在原视频D盘目录上不能保存截取 ...

  4. python快速入门第3版 数据_Python 快速入门 第3版

    第 一部分 开始篇 第 1章 关于Python 3 1.1 用Python的理由 3 1.2 Python的长处 3 1.2.1 Python易于使用 4 1.2.2 Python富有表现力 4 1. ...

  5. python 写入网络视频文件很慢_OpenCV视频写入详解_Python,视频保存0kb问题

    问题:为何视频能读出来,而写入代码也没报错,但文件大小为0k,视频好似没有写入成功! 原因:cv2.VideoWriter()第二个参数控制视频编码的格式,多数教程上是这样写的 videoWriter ...

  6. python人脸检测与微信小程序_python+requests对app和微信小程序进行接口测试

    对于web端和app端的接口测试来说,他们都是通过请求方法,url和传递的body参数进行接口请求,区别web和app的区别就是header请求的不同.不同的地方在于header中的User-Agen ...

  7. Python快速入门视频

    这是我第一次尝试着录制视频教程,没有多少经验.希望看到我视频的朋友,给我多提意见.本教程共有10集,每周更新一集,每集20到30分钟. 邮箱(请看到的朋友,多多提意见和建议.通过大家的反馈,我可以提供 ...

  8. 跳一跳python开挂_微信跳一跳物理外挂—教​你用 Python 来玩微信跳一跳

    微信跳一跳出物理外挂了,教你用 Python 来玩微信跳一跳,最高可跳 4000 分.这里为大家整理了一份完整的使用教程,让你轻轻松松那高分! 1.下载程序:打开下面的链接,点右侧 clone or ...

  9. python对语音信号读取、分帧、加窗

    python对语音信号读取.分帧.加窗 一.读入音频信号 语音信号有三个重要的参数:声道数.取样频率和量化位数. 声道数:单声道或者双声道 采样频率:一秒钟对声音采样的次数,例如10000HZ代表一秒 ...

最新文章

  1. VS2010属性表的建立与灵活运用
  2. [剑指offer]面试题第[37]题[Leedcode][JAVA][第297题][二叉树列的序列化与反序列化][递归][BFS]
  3. 数据结构实验之栈五:下一较大值(一)
  4. php 写入sql server,php将图片直接写入SQLServer2008
  5. ITEXT5.5.8转html为pdf文档解决linux不显示中文问题
  6. mysql 5.7基本优化_mysql5.7优化
  7. x264 编码器选项分析 (x264 Codec Strong and Weak Points) 1
  8. 蓝桥杯---2012--比酒量(暴力)
  9. mysql触发器检验有效性_mysql触发器实例 两个触发器保证数据有效性
  10. 微信公众号推送(Java)
  11. 罗马数字转换器|罗马数字生成器
  12. 打开计算机任务栏有桌面没,电脑桌面任务栏不显示打开的窗口怎么办
  13. 2 万字 + 30 张图 |MySQL 日志:undo log、redo log、binlog 有什么用?
  14. java魔法师_RxJava魔法师
  15. find_in_set学习与思考
  16. 【点云分割】边界分割对点云分割的监督学习(CBL)
  17. L2-027 名人堂与代金券 (25point(s))(C语言)
  18. 如何下载建外街道卫星地图高清版大图
  19. 自动提取论文公式方法
  20. 【逐梦云服务平台研究之redis启动】

热门文章

  1. 扎根中国20年,F5“代码到用户”线上峰会盛大启幕
  2. 亚信安全发布“安全定义边界”2020发展理念 赋能企业在5G时代的数字化安全运营能力
  3. AI又被彩虹吹?!新浪财经:应届博士算法毕业,80万年薪被疯抢
  4. 大数据里的婚姻:婚后两年,出轨高峰……
  5. Python | 7招教你识别一个网站是否是Django后台
  6. c++如何禁用指定的键盘布局_Karabiner Elements for Mac 键盘键位自定义改键工具
  7. RuoYi-Cloud 部署篇_02(windows环境 Oracle +nginx版本)
  8. linux CentOS7最小化安装环境静默安装Oracle11GR2数据库(oracle基础配置_04)
  9. 工作流实战_08_flowable 流程实例的启动
  10. 第7篇:Flowable快速工作流脚手架Jsite_请假实战_HR审批