宅男的福音:如何对视频逐帧批量截图?
| 标签: sci科研理工论文研究 | 
看电影时,有时遇到精彩的台词想保存下来。比如这样: 
 
或者想截图写影评,
或者看到了德艺双馨女神的视频:
 
该有什么好办法把视频截图,尤其是批量截图? 
1. QQ截图法
首先想到的是QQ截图的办法。在打开QQ的情况下,按Ctrl+Alt+A即可进入截图界面。
 
或者打开QQ聊天窗口→点击屏幕截图→选择捕捉视频图像→把鼠标移动到视频窗口上,双击鼠标左键激活需要截取的窗口即可:
这种方法方便快捷,但问题是画质很一般。
2. Windows自带截图法
电脑键盘中有个PrintScreen键,它是截取图片的快捷键,当按下它以后,系统会自动将当前全屏画面保存到剪贴板中。
 
然后打开任何一个图形编辑软件如画图板、PPT等软件,在软件中使用Ctrl+v粘贴命令就可以粘贴下来刚才看到截取的图片。
 
另外,如果按住Alt键再按下PrintScreen键可以截取当前活动窗口。
 
这种方法截单张图可以,但如果要批量截图,全手动操作就很慢了。如果长期手动操作,弄不好还会被弄成键盘手。
 
友情提示:珍爱生命,远离手动重复劳动操作。
3. 视频处理软件截图
Premiere、会声会影、After Effects等软件都可以批量把视频拆解成序列图片。
 
例如Premiere在导入视频后,按 Ctrl+M 可调出输出设置项:
根据需求选择导出图片的格式,比如GIF,JPEG,BMP,然后可以批量导出:
http://mmbiz.qpic.cn/mmbiz/ibL4SsibqaVsbyx0I66jXoxYDJkATZxY2CrZwlRlKWtmH6gtl7ER87xMZca3mPJicPPGnrwSGlkQ29iaOvY5GAzvGg/0?wx_fmt=jpeg
 
4. Matlab批量截图
视频处理软件是可以实现批量处理,然而问题是:如果视频的文件很大,这些视频处理软件很有可能会用完内存,然后把电脑也卡死了。这时Matlab就派上了用场。
 
它可以读取一帧,保存一帧,然后清空,再循环,程序如下:
 
% 清理变量
clc;
clear;
 
% 读取视频
mov_file='mymov.avi'; %视频的文件名
video=VideoReader(mov_file); %读入视频
frame_number=floor(video.Duration *video.FrameRate); %获取视频帧数
 
%提取图片
fori=1:frame_number
 
 
 
 
 
end
 
如果只想保存其中的几帧,就不用for循环,将i改成想要保存的帧数即可。
 
(END)
公众号:科研充电宝(原名:科学计算编点程),不定时po一些科研干货、编程中的经验教训、实用技巧、技术宅和好玩的东西,欢迎关注~ 

 加载中…
加载中…