matlab中的VideoReader函數 read函數


來源

%取第一個文件夾里面的第一個視頻
readerObj = VideoReader(strcat(strPath,nameFolds{1},'\',fileList(1).name));
vidFrames = read(readerObj);  %讀取所有幀
numFrames = get(readerObj, 'NumberOfFrames'); % 幀數
% numFrames = readerObj.NumberOfFrames  % 也可以獲得幀數

         
在這里插入圖片描述

         

VideoReader函數

          用於創建 VideoReader 對象,使用對象的屬性查詢視頻信息,然后使用對象函數讀取視頻。VideoReader 對象包含有關視頻文件的信息,並允許用戶從視頻中讀取數據。

語法

  • v = VideoReader(filename) 創建對象 v,用於從名為 filename 的文件讀取視頻數據。

  • v = VideoReader(filename,Name,Value) 使用名稱-值對組設置屬性 CurrentTime、Tag 和 UserData。

          例如,VideoReader('myfile.mp4','CurrentTime',1.2) 開始讀取 1.2 秒的視頻。可以指定多個名稱-值對組。用單引號將每個屬性名稱括起來,后跟對應的值。

輸入參數

  • filename - 文件名 字符向量 | 字符串標量

         

read函數

          作用:讀取一個或多個視頻幀

1、 語法

  • video = read(v) 從與 v 相關聯的文件讀取所有視頻幀。
  • video = read(v,index) 只讀取 index 指定的幀。
  • video = read(___,'native') 以 VideoFormat 屬性指定的格式返回數據,並且可以包含上述語法中的任何輸入參數。

          創建一個視頻讀取器對象,並使用幀索引讀取一個或多個視頻幀。為示例影片文件 abc.mp4 創建一個VideoReader 對象。

v = VideoReader('abc.mp4');

          只讀取第一個視頻幀。

frame = read(v,1);

          只讀取最后一個視頻幀。

frame = read(v,Inf);

          讀取第 5 幀到第 10 幀。

frames = read(v,[5 10]);

          從第 50 幀開始讀取到視頻文件結束。

frames = read(v,[50 Inf]);


免責聲明!

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



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