Matlab制作视频并转换成gif动态图的两种方法

一、第一个方法比较简单,就是使用movie(f)直接取生成AVI视频文件。

%% f(t)-->f(4*t+12) 并且验证%%
function Signal_change()
tic%记录程序运行时间
figure
n = 0;
t = -2*pi:0.01:2*pi;
y = sin(t);%周期为2*pi
y_result = sin(4*t);
plot(t,y,'b');
xlabel('t');
ylabel('Amplitude');
n = n+1;
F(n) = getframe(gcf);%获取当前图形并且保存到F(n)中
%saveas(gcf,['C:\Users\Administrator\Desktop\图片\',num2str(n),'.jpg']);
hold on
%% 验证%%
%f(4*t+12) = f[4*(t + 3)].遵循先外后里原则具体的图形变换实现为:
%1 、先将f(t)压缩4倍
%2、再将压缩的图形左移3个单位。
y_now = sin(t);
h = plot(t,y_now,'--','YDatasource','y_now');
 %% f(t)-->f(4*t)%%
for i = 1:0.1:4
y_now = sin(i*t);
refreshdata(h,'caller');
drawnow;
n = n+1;
F(n) = getframe(gcf);
%saveas(gcf,['C:\Users\Administrator\Desktop\图片\',num2str(n),'.jpg']);
pause(0.01);
end
%保留f(4*t)的图形
n = n+1;
plot(t,y_result,'r');
F(n) = getframe(gcf);
%saveas(gcf,['C:\Users\Administrator\Desktop\图片\',num2str(n),'.jpg']);
hold on
%% f(4*t)-->f(4*t+12)%%
for j = 0:0.1:3
y_now = sin(4*(t + j));
refreshdata(h,'caller');
drawnow;
n =n+1;
pause(0.1);
legend('sin(t)','sin(4t+12)','sin(4t)');
F(n) = getframe(gcf);
%saveas(gcf,['C:\Users\Administrator\Desktop\图片\',num2str(n),'.jpg']);
end
movie(F);%生成视频
movie2avi(F,'imovie1.avi','FPS',3);%设置视频的帧率为3,数值越大速度越快

二、第二种方法是先将每一个动画中的图片保存下来到一个文件夹中,然后进行读取并且制作处视频文件。

程序示例:

function Avi()
%%大小写非常重要%%
n = 64;
WriterObj = VideoWriter('wmw');
WriterObj.FrameRate = 100;%此语句必须放置在
%WriterObj = VideoWriter('wmw')语句之后才能设置帧率
open(WriterObj);for i=1:n%逐次取出文件frame=imread(['C:\Users\Administrator\Desktop\图片\',num2str(i),'.jpg']); %读取文件writeVideo(WriterObj,frame);end close(WriterObj); 

原图片文件在百度网盘:

链接:http://pan.baidu.com/s/1miFgCsg 密码:vauv

下载之后保存在桌面上,程序就可以直接运行

三、下面介绍将视频文件转换为gif文件

下载软件:视频GIF转换(百度上搜索就好)

使用很方便。

四、在word中插入gif:

最为方便的办法就是将word文件保存为网页文件,然后打开保存的网页文件gif图片就可以正常显示了

总结

以上所述是小编给大家介绍的Matlab制作视频并转换成gif动态图的两种方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • ubuntu下Matlab_Linux添加工具包操作步骤

    以下以rvctools为例 具体操作如下: 1. 先将下载好的压缩包(robot-9.10.zip)解压,得到工具包rvctools 2. 将该工具包复制到MATLAB下的toolbox文件夹内,一般是无法将工具包复制进去的,需要添加授权 ① 先进入到以下路径/usr/local/MATLAB/R2017a ② 在terminal中输入sudo chmod 777 toolbox ③ 此时就可以将工具包rvctools放进toolbox里面了 3.跟着打开MALTAB,找到set path,设置

  • 在ubuntu16.04上创建matlab的快捷方式(实现方法)

    打开终端terminal 1 下载图标 sudo wget http://upload.wikimedia.org/wikipedia/commons/2/21/Matlab_Logo.png -O /usr/share/icons/matlab.png 2 创建空的快捷方式 sudo touch /usr/share/applications/matlab.desktop 3 编辑快捷方式 sudo gedit /usr/share/applications/matlab.desktop 4

  • MATLAB Delaunay算法提取离散点边界的方法

    最近在项目进行中遇到要提取离散点边界的问题,像我这样的对于matlab不是特别熟练的朋友一开始肯定摸不着头脑,到底选用哪种算法可以有效地提取到所有已知点的轮廓线呢.本人经过大量的文献搜索及代码实验找到了几个效果比较好的轮廓提取代码,在这里做个总结,并且希望能够对遇到同样问题的朋友有所启发. 关于离散点边界提取的三种方法: 1.Convhull 离散点集获得边界 2.Alpha Shape算法检测边缘点 3.Delaunay 三角剖分算法 前两种方法在之前的博客中已经做了总结这里就不展开了,现在主

  • matlab 生成.bmp格式的文件

    生成.bmp格式的文件 .bmp格式的图片是未压缩的图片,相比于.raw格式,需要加上头文件.下面以大小为M*N的图片为例,说明头文件格式和内容. M = 128; N = 128; % 构造头文件 fileMemory = bmpHeadTrans(M*N+1078); wMemory = bmpHeadTrans(M); hMemory = bmpHeadTrans(N); imgMemory = bmpHeadTrans(M*N); head_bmp = [66; 77; %头文件 0x4

  • python调用matlab的m自定义函数方法

    项目信号处理和提取部分用到了matlab,需要应用到工程中方便研究.用具有万能粘合剂之称的"Python".具体方法如下: 1.python中安装mlab 下载https://pypi.python.org/pypi/mlab 安装命令:python setup.py install Mlab is a high-level python to Matlab bridge that lets Matlab look like a normal python library. 2 .测试

  • Matlab实现数据的动态显示方法

    对于真实系统或者仿真平台,数据是增量式的产生的.Matlab除了强大的矩阵运算外,还具有强大的数据可视化库.由于静态画图的方法较多,本文只针对增量式数据流的动态显示.本文主要介绍几种Matlab实现数据的动态显示方法.方法主要有两种: hold on set函数与drawnow函数组合 hold on 方法 1. 方法介绍 此种方法比较原始,适合于即时数据,原理是先画上一帧,接着保留原始图像,追加下一幀图像,此种方式比较繁琐,涉及画图细节,并且没有完整并连续的Line对象数据.此种方法需要注意的

  • 详解如何在python中读写和存储matlab的数据文件(*.mat)

    背景 在做deeplearning过程中,使用caffe的框架,一般使用matlab来处理图片(matlab处理图片相对简单,高效),用python来生成需要的lmdb文件以及做test产生结果.所以某些matlab从图片处理得到的label信息都会以.mat文件供python读取,同时也python产生的结果信息也需要matlab来做进一步的处理(当然也可以使用txt,不嫌麻烦自己处理结构信息). 介绍 matlab和python间的数据传输一般是基于matlab的文件格式.mat,pytho

  • Ubuntu 16.04 LTS下安装MATLAB 2014B的方法教程

    环境配置说明: 环境:Ubuntu 16.04LTS 软件:MATLAB 2014B MATLAB 2014B 下载地址(带Crack)如下: 百度云下载:   链接: https://pan.baidu.com/s/1kVJQVlX  密码: pj9m 本 地 下 载:    Ubuntu 16.04 LTS 官方正式版 32位                          Ubuntu 16.04 LTS 官方正式版 64位 步骤如下:  1.直接解压 matlab_R2014b.iso

  • 基于MATLAB神经网络图像识别的高识别率代码

    MATLAB神经网络图像识别高识别率代码 I0=pretreatment(imread('Z:\data\PictureData\TestCode\SplitDataTest\0 (1).png')); I1=pretreatment(imread('Z:\data\PictureData\TestCode\SplitDataTest\1 (1).png')); I2=pretreatment(imread('Z:\data\PictureData\TestCode\SplitDataTest\

  • matlab中实现矩阵删除一行或一列的方法

    实例如下所示: >> A=[1,2,3;4,5,6;7,8,9] A = 1 2 3 4 5 6 7 8 9 删除行: >> A(2,:)=[] A = 1 2 3 7 8 9 删除列: >> A(:,2)=[] A = 1 3 7 9 以上这篇matlab中实现矩阵删除一行或一列的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们. 您可能感兴趣的文章: Python numpy 提取矩阵的某一行或某一列的实例 Python矩阵常见运算操

随机推荐