OpenFOAM后處理,paraview創建動畫視頻的三種方式


首先在 paraView中保存圖片序列。點擊file>save Animation,可以保存為tif, png, jpg等格式的圖片序列。可以規定保存的幀數,默認是每個timestep一幀。注:圖片很多的話最好建立一個新的文件夾。

其次把圖片序列轉換為視頻或者GIF,有兩種方式

第一種方式:利用OpenFOAM帶的第三方后處理工具
算例文件夾下終端鍵入
foamCreateVedio
具體用法可以用 foamCreateVedio -help 查看
參考OpenFOAM_user_guide

第二種方式:利用ubantu系統里的的convert
/usr/bin/convert -quality 90% frames*.png movie.gif
顯然-quality 90%表示視頻質量
其中frames是圖片序列名,*表示后面任意名稱,如frames.000.png
movie是生成的gif名字
參考自chalmers大學OpenFOAM課程ppt
https://pingpong.chalmers.se/public/pp/public_courses/course09769/published/1552579467657/resourceId/5227641/content/UploadedResources/paraFoamTutorial-3.pdf


=========補充,20.1.23=
第三種方式(推薦)
用matlab轉換

(這部分代碼是轉載的,忘記原作者是誰了)

MATLAB腳本如下

framesPath = 'E:\Works\MFix_results\fbtry\biomass_pyrolysis_2020_1_7\animeTrack70\animeTrack500\';%圖像序列所在路徑,同時要保證圖像大小相同
videoName = 'Track500.avi';%表示將要創建的視頻文件的名字
fps = 10; %幀率
startFrame = 1; %從哪一幀開始
endFrame = 500; %哪一幀結束
 
if(exist('videoName','file'))
    delete videoName.avi
end
 
%生成視頻的參數設定
aviobj=VideoWriter(videoName);  %創建一個avi視頻文件對象,開始時其為空
aviobj.FrameRate=fps;

open(aviobj);%Open file for writing video data
%讀入圖片
for i=startFrame:endFrame
    fileName=sprintf('anime.%04d',i);    %根據文件名而定 我這里文件名是0001.jpg 0002.jpg ....
    frames=imread([framesPath,fileName,'.png']);
    writeVideo(aviobj,frames);
end
close(aviobj);% 關閉創建視頻


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM