python快速检测视频跳过帧_python实现视频分帧效果
本文实例为大家分享了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实现视频分帧效果相关推荐
- OpenCV视频写入详解_Python,视频保存0kb问题
我真的是栓q,搞了两晚,保存的视频一直是0kb,什么方式都用了.直到看到下面这个大佬的解释才明白,可能是我电脑视频编码不太对.本来就是想学习一下,跟着老师做一直不对. 将cv2 VideoWriter ...
- python视频转字符动画_Python实现视频转字符动画
导语 又到了愉快地周末,应某好友的要求,本周来补一期视频转字符动画相关的内容,核心主题是将蔡徐坤打球的视频转成字符动画.我也不知道为什么,真的不知道,真的真的不知道为什么.嗯,重要的话说三遍.说干就干 ...
- python快速检测视频跳过帧_使用Python实现跳帧截取视频帧
本文实例为大家分享了Python跳帧截取视频帧的具体代码,供大家参考,具体内容如下 可以自由设定时长来截取视频,经实测效果理想.期间遇到的一个麻烦是我的视频文件在D:盘,在原视频D盘目录上不能保存截取 ...
- 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. ...
- python 写入网络视频文件很慢_OpenCV视频写入详解_Python,视频保存0kb问题
问题:为何视频能读出来,而写入代码也没报错,但文件大小为0k,视频好似没有写入成功! 原因:cv2.VideoWriter()第二个参数控制视频编码的格式,多数教程上是这样写的 videoWriter ...
- python人脸检测与微信小程序_python+requests对app和微信小程序进行接口测试
对于web端和app端的接口测试来说,他们都是通过请求方法,url和传递的body参数进行接口请求,区别web和app的区别就是header请求的不同.不同的地方在于header中的User-Agen ...
- Python快速入门视频
这是我第一次尝试着录制视频教程,没有多少经验.希望看到我视频的朋友,给我多提意见.本教程共有10集,每周更新一集,每集20到30分钟. 邮箱(请看到的朋友,多多提意见和建议.通过大家的反馈,我可以提供 ...
- 跳一跳python开挂_微信跳一跳物理外挂—教你用 Python 来玩微信跳一跳
微信跳一跳出物理外挂了,教你用 Python 来玩微信跳一跳,最高可跳 4000 分.这里为大家整理了一份完整的使用教程,让你轻轻松松那高分! 1.下载程序:打开下面的链接,点右侧 clone or ...
- python对语音信号读取、分帧、加窗
python对语音信号读取.分帧.加窗 一.读入音频信号 语音信号有三个重要的参数:声道数.取样频率和量化位数. 声道数:单声道或者双声道 采样频率:一秒钟对声音采样的次数,例如10000HZ代表一秒 ...
最新文章
- VS2010属性表的建立与灵活运用
- [剑指offer]面试题第[37]题[Leedcode][JAVA][第297题][二叉树列的序列化与反序列化][递归][BFS]
- 数据结构实验之栈五:下一较大值(一)
- php 写入sql server,php将图片直接写入SQLServer2008
- ITEXT5.5.8转html为pdf文档解决linux不显示中文问题
- mysql 5.7基本优化_mysql5.7优化
- x264 编码器选项分析 (x264 Codec Strong and Weak Points) 1
- 蓝桥杯---2012--比酒量(暴力)
- mysql触发器检验有效性_mysql触发器实例 两个触发器保证数据有效性
- 微信公众号推送(Java)
- 罗马数字转换器|罗马数字生成器
- 打开计算机任务栏有桌面没,电脑桌面任务栏不显示打开的窗口怎么办
- 2 万字 + 30 张图 |MySQL 日志:undo log、redo log、binlog 有什么用?
- java魔法师_RxJava魔法师
- find_in_set学习与思考
- 【点云分割】边界分割对点云分割的监督学习(CBL)
- L2-027 名人堂与代金券 (25point(s))(C语言)
- 如何下载建外街道卫星地图高清版大图
- 自动提取论文公式方法
- 【逐梦云服务平台研究之redis启动】
热门文章
- 扎根中国20年,F5“代码到用户”线上峰会盛大启幕
- 亚信安全发布“安全定义边界”2020发展理念 赋能企业在5G时代的数字化安全运营能力
- AI又被彩虹吹?!新浪财经:应届博士算法毕业,80万年薪被疯抢
- 大数据里的婚姻:婚后两年,出轨高峰……
- Python | 7招教你识别一个网站是否是Django后台
- c++如何禁用指定的键盘布局_Karabiner Elements for Mac 键盘键位自定义改键工具
- RuoYi-Cloud 部署篇_02(windows环境 Oracle +nginx版本)
- linux CentOS7最小化安装环境静默安装Oracle11GR2数据库(oracle基础配置_04)
- 工作流实战_08_flowable 流程实例的启动
- 第7篇:Flowable快速工作流脚手架Jsite_请假实战_HR审批