MATLAB 制作gif动画

1、已有一系列时序图片的基础上,可借助matlab制作gif图片,虽然比不上专业绘图制作的精良,好在比较方便。

2、假定时序图片的命名为:dens000000.tiff,dens000500,dens0010000,……

3、效果展示

4、代码呈现

1% make gif 2clc;clear; 3close all; 4 5% fileneme for gif 6prefix = 'dens'; 7targetname = [ prefix '.gif' ]; 8 9% get information of the source file 10file_info = dir( strcat( prefix, '*.tiff' ) ); 11file_num = length( file_info ); 12nameindex = zeros( 1, file_num ); 13 14for i = 1:file_num 15 temp = strsplit( file_info(i).name, '.' ); 16 strformat = strcat( prefix, '%d' ); 17 temp = sscanf( temp{1,1}, strformat ); 18 nameindex(i) = temp; 19end 20nameindex = sort( nameindex ); 21 22% get the size of screen 23set( 0, 'units', 'pixels' ); 24scnsize = get( 0, 'MonitorPosition' ); 25 26% get the size of figure 27img = imread( file_info(1).name ); 28 29% creat figure 30figure( 'units', 'pixels', 'WindowStyle', 'modal', 'color', 'w' ) 31 32% set the figure position at the center of screen 33startx = floor( 0.5 * ( scnsize(3) - size(img,2) ) ); 34starty = floor( 0.5 * ( scnsize(4) - size(img,1) ) ); 35width = size( img, 2 ); 36high = size( img, 1 ); 37set( gcf, 'position', [ startx, starty, width, high ] ); 38 39% deal with the source file one by one 40for i = 1:file_num 41 % read data 42 strformat = strcat( prefix, '%06d.tiff'); 43 str = sprintf( strformat, nameindex(i) ); 44 img = imread( str ); 45 46 % open picture 47 imshow( img, 'border', 'tight', 'initialmagnification', 'fit' ) 48 49 frame = getframe( gcf ); 50 im = frame2im( frame ); 51 [ I, map ] = rgb2ind( im, 1024 ); 52 53 % close current figure 54 cla; 55 56 % write file 57 if i == 1 58 imwrite( I, map, targetname, 'gif', 'Loopcount', inf, 'DelayTime', 0.05 ); 59 else 60 imwrite( I, map, targetname, 'gif', 'WriteMode', 'append', 'DelayTime', 0.05 ); 61 end 62end 63 64% close figure 65close all;
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )