网上可以找到将ppt转为视频,没看到到视频转为ppt。想去找一些ppt形式的绘本,但甚至pdf格式的绘本都没有找到。不过,发现不少绘本以视频的形式存在,就想着能不能将视频转为ppt。基本思路很简单,将视频的每一帧,按照固定的间隔转换为图片,然后用工具生成ppt

Created with Raphaël 2.3.0开始视频未结束?按照指定的帧数间隔保存结束yesno

利用matlab的VideoReader可以很容易读取视频数据,代码Video2Image2函数参考自
https://blog.csdn.net/lingyunxianhe/article/details/83543282
在我的matlab2018的环境下运行出错,稍微做了一点改动

%auto pptPath   =  "D:\";%视频的路径
VideoPath = Path;%图片的保存路径
VideoName = "szxz";%视频的名称,未加后缀,主要是作为图片保存的前缀
VideoPath =  strcat(Path,VideoName);%视频的路径
VideoPath = strcat(VideoPath,".mp4");%视频的完整路径
Video2Image2(VideoPath,Path,VideoName,60,20);%VideoPath,ImageSaveFolder,ImNamePre,ImSpanNum,StartId
%VideoPath                         ---视频的路径
%ImageSaveFolder             ---图片保存路径
%ImNamePre                      ---图片保存的前缀
%ImSpanNum                     ---每间隔ImSpanNum帧保存图像
%StartId                               ---起始保存帧function Video2Image2(VideoPath,ImageSaveFolder,ImNamePre,ImSpanNum,StartId)
ImageSaveForm='.jpg';
ObjImSize=[480,640];
%获取视频信息
vidObj= VideoReader(VideoPath);
%把上面保存的信息写入图片中去
if ~exist(ImageSaveFolder,'dir')mkdir(ImageSaveFolder);
end
IsExtractPointStartId=false;%从指定的帧号开始提取图片
CurFrameId=0;
PreFrameId=0;
MyFrame = 0;
while hasFrame(vidObj)Image = readFrame(vidObj);CurFrameId=CurFrameId+1;if (~IsExtractPointStartId)&&(CurFrameId==StartId)IsExtractPointStartId=true;PreFrameId=CurFrameId;Image=imresize(Image,ObjImSize);%按指定格式保存到指定的文件夹ImageName=sprintf('%s%d%s',ImNamePre,MyFrame,ImageSaveForm);ImagePath=fullfile(ImageSaveFolder,ImageName);ImagePath =  sprintf('%s',ImagePath);imwrite(Image,ImagePath);MyFrame = MyFrame + 1;continue;endif ((CurFrameId-PreFrameId)==ImSpanNum)PreFrameId=CurFrameId;Image=imresize(Image,ObjImSize);%按指定格式保存到指定的文件夹ImageName=sprintf('%s%d%s',ImNamePre,MyFrame,ImageSaveForm);ImagePath=fullfile(ImageSaveFolder,ImageName);ImagePath =  sprintf('%s',ImagePath);imwrite(Image,ImagePath);MyFrame = MyFrame + 1;end
end
end

得到图像后,用FreePic2Pdf将图片转为pdf,即可在电脑上播放

从上图可以看到,由于是固定帧数间隔的保存图像,里面包含了不少重复的图片。简单的做法可以直接手动删除,虽然low了一些,工作量不大。另外一个思路是用图像减法,相邻的两帧做一个减法,看看图像的差距。如果差距大,说明帧与帧之间存在差异,说明视频的图像变动了,以此为契机,保存当前帧,寻找下一个变化的图像,直到视频结束。代码没什么难度,懒得实现。

Created with Raphaël 2.3.0开始保存当前帧视频未结束?与上次保存的图像做减法图像差距够大?保存当前帧 ,返回第一个条件结束yesnoyesno

如果pdf想转ppt也很容易,推荐一个在线的网址 https://www.ilovepdf.com/pdf_to_powerpoint。 另外,使用WPS投屏在小米电视上播放ppt也很舒服,用遥控器可以上翻下翻ppt,有一种上课的感觉。

利用matlab将视频转为PPT相关推荐

  1. 多元线性回归分析matlab实验报告,利用MATLAB进行多元线性回归.ppt

    <利用MATLAB进行多元线性回归.ppt>由会员分享,可在线阅读,更多相关<利用MATLAB进行多元线性回归.ppt(15页珍藏版)>请在人人文库网上搜索. 1.2.线性回归 ...

  2. 利用python将PDF转为PPT(课件专用)

    利用python将PDF转为PPT(课件专用) 前言:课程中老师经常会将课件作为PDF发放而非PPT,而现有的PDF阅读器一般不支持添加修改等操作,所以显得十分麻烦,考虑将PDF转换为PPT格式,方便 ...

  3. 利用Python将视频转为字符动画

    这几天某音上很多高校都在拍高校手势舞,非常火,尤其是河南工业大学拍的小姐姐手势舞,一度上榜到热搜. 为什么会上榜?先来看原视频. 河南工业大学手势舞 嗯嗯,这回知道原因了. 那么接下来用Python将 ...

  4. 使用MATLAB将视频转为gif

    文章目录 前言 1.导入视频 2.分析视频文件 3.生成gif文件 总结 前言 在做工作汇报的时候,经常需要插入一些视频或者图片,但是有时我们想让视频能够自动播放,这时就需要gif格式的图片了,有什么 ...

  5. 利用MATLAB中 MuPADNotebook组件将程序语言表达式转为数学表达式

    前言 在论文写作或数模竞赛中,常需要把已经在程序中列写好的方程或表达式转为数学表达式,呈现在论文或其他书面文本中,利用MATLAB中 MuPADNotebook组件可以在保证高转换准确度的同时,提高我 ...

  6. php 实现ppt转动态swf,如何利用iSpring Free软件将ppt转换成swf视频文件? (140808)|老小孩讲述...

    如何利用iSpring Free软件将ppt转换成swf视频文件? (140808) (一)对iSpring FreePortable软件压缩包解压缩 (二)安装iSpring Free软件 (1)→ ...

  7. matlab segy文件,利用matlab实现segy格式数据的读写研究和分析.ppt

    利用matlab实现segy格式数据的读写研究和分析 2.SEGY数据格式 地震数据一般以地震道为单位进行组织,采用SEG-Y文件格式存储.SEG-Y格式是由SEG (Society of Explo ...

  8. 线性规划问题的数学建模matlab,数学建模讲座之三——利用Matlab求解线性规划问题(linprog函数).ppt...

    数学建模讲座之三--利用Matlab求解线性规划问题(linprog函数) 利用Matlab求解线性规划问题 线性规划是一种优化方法,Matlab优化工具箱中有现成函数linprog对如下式描述的LP ...

  9. matlab 状态观测器 ppt,实验六利用MATLAB设计状态观测器

    实验六利用MATLAB设计状态观测器 现代控制理论第五次上机实验报告 实验六实验六利用利用 MATLABMATLAB 设计状态观测器设计状态观测器 实验目的:实验目的: 1.学习观测器设计算法: 2. ...

最新文章

  1. 本机无法访问虚拟机上的nignx
  2. gRPC amp; Protocol Buffer 构建高性能接口实践
  3. MCU提高ADC采样精度的几种方案
  4. .NET 十五岁,谈谈我眼中的.NET
  5. vtk环境搭建(windowsXP/win7,vtk6.0.0+cmake2.8+vs2010)
  6. hadoop编程-maven环境搭建
  7. 软件技术方案_智慧工地整体解决方案核心系统有哪些?
  8. 华为MUX VLAN原理和实验
  9. 单臂路由实验(子接口的使用)
  10. python请编写程序、生成随机密码_python习题:登录注册小程序(用户名密码存在文件中)、生成随机密码小程序...
  11. 风“云”大会,创新突围
  12. 【STC8A8K64S4A12开发板】—小白做GPIO点灯实验
  13. steam显示不能连接网络连接服务器,steam请检查网络连接
  14. GeekTool使用cal格式不对齐
  15. 计算机操作系统学习之信号量机制
  16. java定义负数_java如何定义负数
  17. 谈谈对java线程的理解(五)--------ReentrantLock之阻塞队列
  18. Ubuntu中解压出现:bzip2: (stdin) is not a bzip2 file.
  19. 004 鸿蒙应用开发-通知栏
  20. 产品经理如何做好需求调研

热门文章

  1. LINUX云服务器日志在哪里看
  2. 华为数通设备VTY用户界面属性配置
  3. Ubuntu14.04安装openssl,python3.7,下载清华源的AOSP安卓6源码
  4. 为什么表格后面打不出0_表格数字后面的0显示不出怎么办
  5. 晶晨S905X4对比晶晨S905X3 晶晨S905X4和晶晨S905X3区别
  6. 那些年,我读过的技术书(Python篇)
  7. Postgresql之添加字段插件pg_migrate安装使用
  8. JavaScript的数组基础数组进阶单元知识点
  9. Shader Forge 入门学习(一) 基础操作
  10. braintree_Braintree的透明重定向