[轉]-Matlab讀取視頻並處理成幀保存


Matlab讀取視頻並處理成幀保存
本文介紹主要介紹VideoReader讀取視頻,並用imwrite將視頻幀保存。

VideoReader和imwrite的用法
請先help VideoReader
OBJ = VideoReader(FILENAME) constructs a multimedia reader object, OBJ, that can read in video data from a multimedia file. FILENAME is a string specifying the name of a multimedia file. There are no restrictions on file extensions. By default, MATLAB looks for the file FILENAME on the MATLAB path.
該語句將視頻文件讀到OBJ結構,FILENAME為文件路徑,可以為絕對路徑,默認路徑為工程目錄。具體實現如下:
VideoReader介紹
obj = VideoReader('D://Media//111.mp4');%輸入視頻位置
1
難點在於詳解obj結構體的含義,如下(見doc VideoReader):
Name - -視頻文件名
Path – 視頻文件路徑
Duration – 視頻的總時長(秒)
FrameRate - -視頻幀速(幀/秒)
NumberOfFrames – 視頻的總幀數
Height – 視頻幀的高度
Width – 視頻幀的寬度
BitsPerPixel – 視頻幀每個像素的數據長度(比特)
VideoFormat – 視頻的類型, 如 ‘RGB24’.
Tag – 視頻對象的標識符,默認為空字符串”
Type – 視頻對象的類名,默認為’VideoReader’.
UserData – Generic field for data of any class that you want to add to the object. Default: []

obj_numberofframe = obj.NumberOfFrame;%讀取總的幀數
obj_height = obj.Height;%讀取視頻幀高度
%%%以此類推
1
2
3
read - 讀取視頻幀
frame = read(obj),獲取該視頻對象的所有幀
frame = read(obj,index),獲取該視頻對象的制定幀
frame = read(obj, 1); % first frame only 獲取第一幀
frame = read(obj, [1 10]); % first 10 frames 獲取前10幀
frame = read(obj, Inf); % last frame only 獲取最后一幀
frame = read(obj, [50 Inf]); % frame 50 thru end 獲取第50幀之后
1
2
3
4
5
6
imwrite介紹
同樣,help imwrite
imwrite(A,FILENAME,FMT) writes the image A to the file specified by FILENAME in the format specified by FMT.
直接上代碼:

imwrite(frame,strcat('D:\image\cankao1\1.jpg'),'jpg');% 保存幀
%%%frame為待保存的某一幀
%%%strcat('D:\image\cankao1\1.jpg')為保存目錄
%%%'jpg'為保存格式
1
2
3
4
整體代碼
obj = VideoReader('D://Media//111.mp4');%輸入視頻位置
numFrames = obj.NumberOfFrames;% 幀的總數
for k = 1 : 15% 讀取前15幀
frame = read(obj,k);%讀取第幾幀
% imshow(frame);%顯示幀
imwrite(frame,strcat('D:\image\cankao1\',num2str(k),'.jpg'),'jpg');% 保存幀
end
---------------------
作者:Soyabean_
來源:CSDN
原文:https://blog.csdn.net/qq_23097931/article/details/51108747
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

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



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