Matlab實現將圖像序列合並為視頻的方法詳解
MATLAB是一種高性能語言,用於操縱矩陣、執行技術計算、繪圖等。它代表矩陣實驗室。借助這個軟件,我們可以從圖像中創建視頻。
參考代碼一
以下代碼適合序列圖像名稱為1、2、3、4、5等名稱的圖片。
videoname='VBRPCA_qj'; % 待生成的視頻文件名 myfilepath='C:\Users\xiaomao\Desktop\ys_hb\' % 待合成的圖片存放路徑,需根據實際修改 WriterObj = VideoWriter([videoname,'.avi']); % 設置待合成的視頻(不僅限於avi格式)名稱 WriterObj.FrameRate = 10; % 設置每秒幀數 open(WriterObj); filepath = dir([myfilepath,'*.jpg']); % 獲取路徑myfilepath文件夾中所有png的文件結構體 for k = 1:length(filepath) frame=imread([filepath(k).folder,'\', strcat(num2str(k-1), '.jpg')]); % 遍歷讀取圖像,放在變量frame中 writeVideo(WriterObj,frame); % 將frame放到變量WriterObj中 end close(WriterObj); fprintf([videoname,'.avi','制作成功\n'])
參考代碼二
以下代碼適合圖片名稱為,001、002、003等名稱的圖片。
videoname='VBRPCA_qj'; % 待生成的視頻文件名 myfilepath='D:\test\' % 待合成的圖片存放路徑,需根據實際修改 WriterObj = VideoWriter([videoname,'.avi']); % 設置待合成的視頻(不僅限於avi格式)名稱 WriterObj.FrameRate = 10; % 設置每秒幀數 open(WriterObj); filepath = dir([myfilepath,'*.png']); % 獲取路徑myfilepath文件夾中所有png的文件結構體 for k = 1:length(filepath) frame=imread([filepath(k).folder,'\',filepath(k).name]); % 遍歷讀取圖像,放在變量frame中 writeVideo(WriterObj,frame); % 將frame放到變量WriterObj中 end close(WriterObj); fprintf([videoname,'.avi','制作成功\n'])
上面兩段代碼的主要區別就是for循環裡面的文件路徑的組織方式不同。
參考代碼三
MATLAB提供瞭一個專門的函數來建立元胞數組,即cell函數。cell函數用於創建一維、二維或者多維空元胞數組。
photos = cell(3,1); photos{1} = imread('image1.png'); photos{2} = imread('image2.png'); photos{3} = imread('image3.png'); % 創建每秒1幀的視頻文件 videofile = VideoWriter('output.mp4','MPEG-4'); videofile.FrameRate = 1; % 設置每個圖像的秒數 secperImg = [2 3 4]; % 打開視頻文件 open(videofile); % 將幀寫入視頻 for i=1:length(photos) % convert the image to a frame frame = im2frame(photos{i}); for v=1:secperImg(i) writeVideo(videofile, frame); end end % 關閉視頻文件 close(videofile);
參考代碼四,視頻讀取
fileName = 'MVI_1264_clip.avi\'; obj = VideoReader(fileName); numFrames = obj.NumberOfFrames;% 幀的總數 for k = 1 : numFrames% 讀取數據 frame = read(obj,k); imshow(frame);%顯示幀 imwrite(frame,strcat(num2str(k),\'.jpg\'),\'jpg\');% 保存幀 end
如果是mat格式文件,load加載即可。
到此這篇關於Matlab實現將圖像序列合並為視頻的方法詳解的文章就介紹到這瞭,更多相關Matlab圖像序列合並為視頻內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- OpenCV Matlab生成視頻倒放功能
- Python實現圖片和視頻的相互轉換
- Python自動化短視頻生成腳本實現熱門視頻流水線生產
- 基於Python實現合並多張圖片轉成mp4視頻
- Python計算圖片數據集的均值方差示例詳解