没有合适的资源?快使用搜索试试~ 我知道了~
python tools实现视频的每一帧提取并保存
5星 · 超过95%的资源 17 下载量 52 浏览量
2020-09-19
08:20:05
上传
评论
收藏 50KB PDF 举报
温馨提示
试读
2页
主要为大家详细介绍了python tools实现视频的每一帧提取并保存,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
资源推荐
资源详情
资源评论
python tools实现视频的每一帧提取并保存实现视频的每一帧提取并保存
主要为大家详细介绍了python tools实现视频的每一帧提取并保存,具有一定的参考价值,感兴趣的小伙伴们可
以参考一下
Preface
最近在做 video caption 相关,要处理大量视频。
今天碰到一个问题,就是要将 YoutubeClips 数据集 中的 avi 格式的视频,将其视频中的每一帧提取出来。之后用 High
accuracy optical flow estimation based on a theory for warping 提出的 Optical Flow(光流),提取运动的光流特征。
Method 1
方法 1 是最简单的,用 FFmpeg 工具来完成。
具体的网上有很多这方面的资料,本人只是简单了解了一下如何使用。如下图,有一个名为 ffmpeg_test.avi 的视频:
在当前目录打开终端,输入如下命令:
$ffmpeg -i ffmpeg_test.avi frames_%03d.jpg -hide_banner
以上我没有指定太多的参数,实际上有很多参数可以指定,如起止的时间,几秒钟取一帧等等。
输入即可获得每一帧。
Method 2
下面就是可以用 cv2 模块中的 VideoCapture、VideoWriter 来提取了,具体代码如下:
#! encoding: UTF-8
import os
import cv2
import cv
videos_src_path = '/home/ou-lc/chenxp/Downloads/Youtube/youtube_select'
videos_save_path = '/home/ou-lc/chenxp/Downloads/Youtube/youtube_frames'
videos = os.listdir(videos_src_path)
videos = filter(lambda x: x.endswith('avi'), videos)
for each_video in videos:
print each_video
# get the name of each video, and make the directory to save frames
each_video_name, _ = each_video.split('.')
os.mkdir(videos_save_path + '/' + each_video_name)
each_video_save_full_path = os.path.join(videos_save_path, each_video_name) + '/'
# get the full path of each video, which will open the video tp extract frames
each_video_full_path = os.path.join(videos_src_path, each_video)
cap = cv2.VideoCapture(each_video_full_path)
frame_count = 1
success = True
while(success):
success, frame = cap.read()
print 'Read a new frame: ', success
params = []
params.append(cv.CV_IMWRITE_PXM_BINARY)
params.append(1)
cv2.imwrite(each_video_save_full_path + each_video_name + "_%d.ppm" % frame_count, frame, params)
frame_count = frame_count + 1
cap.release()
资源评论
- 蟹蛛2023-07-25这个文件可以帮助我提取视频中的每一帧并保存,非常适合进行视频分析和图像处理,有很大的应用潜力。
- 马虫医生2023-07-25这个文件使用Python工具实现视频帧的提取与保存,功能非常实用,无论是在学术研究还是工程实践中都能发挥重要作用。
- 今年也要加油呀2023-07-25这个文件非常实用,通过Python工具提取每一帧的视频保存功能非常方便,大大提高了我的工作效率。
- 豆瓣时间2023-07-25这个文件提供了一个简单而高效的方法,用Python工具实现视频帧的提取与保存,对于视频编辑和处理来说是不可或缺的工具。
- 销号le2023-07-25这个文件对于视频处理非常有帮助,每一帧的提取与保存功能操作简单明了,非常适合新手学习和使用。
weixin_38517997
- 粉丝: 3
- 资源: 923
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功