matlab版本是2015b,其中更新了部分函数库之前网上相关程序不适用于新版本,在此提供适用于新版本的程序:

帧序列转换为视频

  1. function video = frames2video(framepath , videoname)
  2. %framepath : 表示图像序列所在的路径,同时保证图像的大小相等
  3. %videoname : 表示将要创建视频的名字
  4. r_path = framepath;
  5. videoName = videoname;
  6. %初始化一个avi文件obj
  7. obj = VideoWriter(videoName);
  8. open(obj)
  9. dirs = dir([r_path,'*.png']);
  10. for i=1:length(dirs)
  11. fname=strcat(sprintf('%05d',i),'.png');
  12. im=imread([r_path dirs(i).name]);
  13. %一帧一帧的写入avi
  14. writeVideo(obj,im);
  15. end
  16. %将缓存数据写入avi
  17. close(obj);
  18. % 返回video
  19. video = obj;
  20. end

视频转化为帧序列

  1. function Framepath = video2frames(videopath , videoname , filename , framerate)
  2. %videopath : 视频路径
  3. %videoname : 视频名字
  4. %filename : 存放图片帧的文件夹
  5. %framerate : 多少张图片提取一张图片
  6. FileName = filename
  7. VideoPath = videopath;
  8. VideoName = videoname;
  9. FrameRate = framerate;
  10. FilePath = ['./',filename]
  11. if ~exist(FilePath)
  12. mkdir(FilePath)
  13. end
  14. cd (FilePath)
  15. addpath(VideoPath);
  16. videoInfo = VideoReader(VideoName);
  17. for i = 1:FrameRate:videoInfo.NumberOfFrames
  18. %获得图片对象
  19. temp = read(videoInfo,i);
  20. imwrite(temp,strcat(sprintf('%05d',i),'.jpg'),'jpg');% 保存帧
  21. end
  22. cd ..
  23. Framepath = FilePath;
  24. end

Matlab 视频与图像之间的相互转换的更多相关文章

  1. matlab各类数据l图像之间的转化

    matlab各类数据图像之间的转化 rgb类型转化为二值的步骤例如以下: 1.採用命令im2double将rgb类型转化三维的double >> str='E:\programing\Ei ...

  2. C# Enum Name String Description之间的相互转换

    最近工作中经常用到Enum中Value.String.Description之间的相互转换,特此总结一下. 1.首先定义Enum对象 public enum Weekday { [Descriptio ...

  3. 速战速决 (6) - PHP: 获取 http 请求数据, 获取 get 数据 和 post 数据, json 字符串与对象之间的相互转换

    [源码下载] 速战速决 (6) - PHP: 获取 http 请求数据, 获取 get 数据 和 post 数据, json 字符串与对象之间的相互转换 作者:webabcd 介绍速战速决 之 PHP ...

  4. json和string 之间的相互转换

    json和string 之间的相互转换 <script type="text/javascript"> //先认识一下js中json function showInfo ...

  5. Android中常用单位dp,px,sp之间的相互转换

    MainActivity如下: package cc.testunitswitch; import android.os.Bundle; import android.util.DisplayMetr ...

  6. C#中String 与Color之间的相互转换

    C#中String 与Color之间的相互转换 ————————————宋兴柱     其实,我们平常如果要在数据库存放Color类型值的话,肯定会在数据库中建立varchar类型.对吧.但是Colo ...

  7. 深入理解c++中char*与wchar_t*与string以及wstring之间的相互转换 [转]

    本篇文章是对c++中的char*与wchar_t*与string以及wstring之间的相互转换进行了详细的分析介绍,需要的朋友参考下. #ifndef USE_H_ #define USE_H_ # ...

  8. 深入理解c++中char*与wchar_t*与string以及wstring之间的相互转换

    本篇文章是对c++中的char*与wchar_t*与string以及wstring之间的相互转换进行了详细的分析介绍,需要的朋友参考下-复制代码 代码如下:    #ifndef USE_H_     ...

  9. java中XMLGregorianCalendar类型和Date类型之间的相互转换

    import java.text.SimpleDateFormat;import java.util.Date;import java.util.GregorianCalendar;import ja ...

随机推荐

  1. GridBagConstraints 参数解释

    GridBagConstraints 的具体参考为: http://download.oracle.com/technetwork/java/javase/6/docs/zh/api/java/awt ...

  2. Echarts 3.19 制作常用的图形 非静态

    最近阿里内部使用的 图表也向外开放了 而百度就好像更有良心一点,Echarts 早就开放了 . 自己学Echarts的时候走了很多的弯路,毕竟谁让自己菜呢,多撞几次南墙才晓得疼 才知道学习方法,新手上 ...

  3. javascript 核心语言笔记 4 - 表达式和运算符

    表达式(expression)是 JavaScript 中的一个短语(phrases),JavaScript 解释器会将其计算(evaluate)出一个结果.程序中的常量.变量名.数组访问等都是表达式 ...

  4. 数据结构之栈-JavaScript实现栈的功能

    记录自己的学习 栈(stack)又名堆栈,它是一种运算受限的线性表.其限制是仅允许在表的一端进行插入和删除运算.这一端被称为栈顶,相对地,把另一端称为栈底.向一个栈插入新元素又称作进栈.入栈或压栈,它 ...

  5. PHP预定义接口之 ArrayAccess

    最近这段时间回家过年了,博客也没有更新,感觉少学习了好多东西,也错失了好多的学习机会,就像大家在春节抢红包时常说的一句话:一不留神错过了好几亿.废话少说,这篇博客给大家说说关于PHP预定义接口中常用到 ...

  6. BigDecimal 处理集合

    1  创建一个BigDecimal 对象 BigDecimal Sum = new BigDecimal(0); 2  一个BigDecimal 对象,保留2位小数点 Sum.setScale(2,B ...

  7. [Git] 还原Git上commit,但是没有push代码

    直接在Idea上操作2步解决: 1. 找到: 2. 在To Commit里面填写:HEAD^,表示将commit的信息还原为上一次的,需要多次直接reset多次即可: 使用命令行:原理一样 以下内容转 ...

  8. 再探JS数组原生方法—没想到你是这样的数组

    最近作死又去做了一遍javascript-puzzlers上的44道变态题,这些题号称"JS语言专业八级"的水准,建议可以去试试,这里我不去解析这44道题了, ...

  9. 激光打印机的Color/paper, Xerography介绍

    Color Basic 看见色彩三要素: 光源,物体,视觉 加色色彩模型:R,G,B 多用于显示器 减色色彩模型:C,M,Y,K 多用于打印复印 Paper 东亚地区常用A系列标准用纸,在多功能一体机 ...

  10. shell(一)

    #服务器之间拷贝数据 scp  -r   本地文件目录    系统用户名@IP:目标文件夹路径