一、第一個方法比較簡單,就是使用movie(f)直接取生成AVI視頻文件。
%% f(t)-->f(4*t+12) 并且驗證%%function Signal_change()tic%記錄程序運行時間figuren = 0;t = -2*pi:0.01:2*pi;y = sin(t);%周期為2*piy_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:4y_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:3y_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']);endmovie(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動態圖的兩種方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VEVB武林網網站的支持!
新聞熱點
疑難解答