欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Matlab實現將圖像序列合并為視頻的方法詳解

 更新時間:2023年03月08日 15:02:15   作者:坐望云起  
MATLAB是一種高性能語言,用于操縱矩陣、執(zhí)行技術計算、繪圖等。它代表矩陣實驗室。借助這個軟件,我們可以從圖像中創(chuàng)建視頻。這篇文章主要介紹了Matlab實現將圖像序列合并為視頻的四個方法,希望對大家有所幫助

MATLAB是一種高性能語言,用于操縱矩陣、執(zhí)行技術計算、繪圖等。它代表矩陣實驗室。借助這個軟件,我們可以從圖像中創(chuàng)建視頻。

參考代碼一

以下代碼適合序列圖像名稱為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'])

上面兩段代碼的主要區(qū)別就是for循環(huán)里面的文件路徑的組織方式不同。

參考代碼三

MATLAB提供了一個專門的函數來建立元胞數組,即cell函數。cell函數用于創(chuàng)建一維、二維或者多維空元胞數組。

photos   = cell(3,1);
photos{1} = imread('image1.png');
photos{2} = imread('image2.png');
photos{3} = imread('image3.png');
 
% 創(chuàng)建每秒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圖像序列合并為視頻內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • C語言數獨游戲的求解方法

    C語言數獨游戲的求解方法

    這篇文章主要為大家詳細介紹了C語言數獨游戲的求解方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • OpenCV圖像旋轉Rotate的詳細介紹

    OpenCV圖像旋轉Rotate的詳細介紹

    這篇文章主要介紹了OpenCV圖像旋轉Rotate,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • C++ 中類的拷貝、賦值、銷毀的實例詳解

    C++ 中類的拷貝、賦值、銷毀的實例詳解

    這篇文章主要介紹了C++ 中類的拷貝、賦值、銷毀的實例詳解的相關資料,希望通過本文能幫助到大家,需要的朋友可以參考下
    2017-09-09
  • C語言實現順序表的順序查找和折半查找

    C語言實現順序表的順序查找和折半查找

    這篇文章主要為大家詳細介紹了C語言實現順序表的順序查找和折半查找,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • 詳解C語言實現推箱子的基本功能(2)

    詳解C語言實現推箱子的基本功能(2)

    這篇文章主要為大家詳細介紹了C語言實現推箱子的基本功能的方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • c++ 構造函數中調用虛函數的實現方法

    c++ 構造函數中調用虛函數的實現方法

    下面小編就為大家?guī)硪黄猚++ 構造函數中調用虛函數的實現方法。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • C++計算整數序列的最長遞增子序列的長度操作

    C++計算整數序列的最長遞增子序列的長度操作

    這篇文章主要介紹了C++計算整數序列的最長遞增子序列的長度操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • VScode編譯C++ 頭文件顯示not found的問題

    VScode編譯C++ 頭文件顯示not found的問題

    這篇文章主要介紹了VScode編譯C++ 頭文件顯示not found的問題,本文給大家分享問題解決方法,通過截圖的形式給大家介紹的非常詳細,需要的朋友可以參考下
    2020-03-03
  • 關于C語言中參數的傳值問題

    關于C語言中參數的傳值問題

    C語言中參數的傳值一直比較含糊,今天在網上看到三個面試題的詳解,感覺講的很好,就拿來記下,方便學習和記憶
    2013-10-10
  • C語言中單鏈表的基本操作(創(chuàng)建、銷毀、增刪查改等)

    C語言中單鏈表的基本操作(創(chuàng)建、銷毀、增刪查改等)

    這篇文章主要介紹了C語言中單鏈表的基本操作(創(chuàng)建、銷毀、增刪查改等),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02

最新評論