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. 【JavaScript】--重点解析之跨域请求

    JSON JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. JSON是用字符串来表示Javascript对象,例如可以在django中发送一个JSON格式 ...

  2. Linux-详解inode节点

    Linux inode节点 inode查看命令 stat 功能:列出文件大小,文件所占的块数,块的大小,主设备号和次设备号,inode number,链接数,访问权限,uid,gid,atime,mt ...

  3. iOS 系统数字键盘左下角加确定按钮

    首先在 viewWillAppear 方法中注册监听相应的键盘通知,并且要在 viewWillDisappear 方法中注销通知- (void)viewWillAppear:(BOOL)animate ...

  4. Js 日期 多少分钟前,多少秒前

    ;(function(window){ /** * [dateDiff 算时间差] * @param {[type=Number]} hisTime [历史时间戳,必传] * @param {[typ ...

  5. C++ 系列:内存布局

    转载自http://www.cnblogs.com/skynet/archive/2011/03/07/1975479.html 为什么需要知道C/C++的内存布局和在哪可以可以找到想要的数据?知道内 ...

  6. 浅入tomcat

    前言:学习笔记,以供参考 1.什么是服务器 所谓的服务器其实就是一段别人写好的程序,服务器有两个能力. a.可以帮助我们来管理资源. b.可以将资源向外界发布以便于外界来访问这个资源. 2.资源有哪些 ...

  7. asp.net core的TagHelper简单使用

    TagHelper(标签助手)是ASP.NET Core非常好的一种新特性.可以扩展视图,让其看起来像一个原生HTML标签. 应该使用TagHelper替换HtmlHelper,因其更简洁更易用,且支 ...

  8. 进击的Python【第十章】:Python的socket高级应用(多进程,协程与异步)

    Python的socket高级应用(多进程,协程与异步)

  9. display:inline-block的间隙问题和解决办法

    1.display:inline-block在水平方向的间隙: 代码如下: <style type="text/css"> *{margin:0; padding:0; ...

  10. 微信测试服务器验证sha1加密法,工具类

    1 package org.fc.Util; import java.security.MessageDigest; import java.security.NoSuchAlgorithmExcep ...