91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Matlab如何實現將圖像序列合并為視頻

發布時間:2023-03-09 10:01:05 來源:億速云 閱讀:105 作者:iii 欄目:開發技術

這篇文章主要介紹“Matlab如何實現將圖像序列合并為視頻”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“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如何實現將圖像序列合并為視頻”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

辽阳县| 密山市| 太湖县| 彰化市| 固始县| 义马市| 奉贤区| 建昌县| 灵台县| 织金县| 仙游县| 咸阳市| 余干县| 苏尼特右旗| 樟树市| 柳林县| 张掖市| 博白县| 滕州市| 临夏县| 二连浩特市| 股票| 当阳市| 左权县| 博白县| 竹溪县| 婺源县| 休宁县| 塔河县| 沁源县| 修武县| 芦山县| 桂阳县| 黑河市| 楚雄市| 苍山县| 明水县| 临潭县| 太仆寺旗| 大石桥市| 探索|