哪个网站可以做代练,做网站域名费一般多少钱,net域名 著名网站,百度投放广告利用MATLAB将视频的每一帧保存成一幅图像#xff0c;并自动命名。本文方法简单#xff0c;容易学习。
首先#xff0c;读入视频。代码如下#xff1a;
mov VideoReader(xxxxxx.avi); % 将xxxxxx.avi读入MATLAB中#xff0c;并用名为mov的结构体保存
fnum mov.Numbe…利用MATLAB将视频的每一帧保存成一幅图像并自动命名。本文方法简单容易学习。
首先读入视频。代码如下
mov VideoReader(xxxxxx.avi); % 将xxxxxx.avi读入MATLAB中并用名为mov的结构体保存
fnum mov.NumberOfFrames; % 获取视频帧数接下来我们要写一个循环来将视频的每一帧保存成.png格式的图片。代码如下
% 将第i帧写入到xxx文件夹内img_000x.png图片中
imgOrder0; % 图片按顺序编号
for i 1:3:fnum % i从1到fnum, step3Imgread(mov,i); % 读取第i帧每次读取一帧可防止内存不足imwrite(Img,[xxx/img_,sprintf(%04d,imgOrder),.png]) % 将第i帧写入到xxx文件夹内img_000j.png图片, jimgOrderimgOrderimgOrder1;
end程序运行结束后会在xxx文件夹中生成fnum/step张图片每一张图片对应视频中相应的一帧。
如果需要做一些预处理如选取感兴趣区域ROI、下采样等可以通过修改倒数第二句话实现
imwrite(Img,[xxx/img_,sprintf(%04d,imgOrder),.png]); % 假设每一帧的原始大小为1920*1080(宽*高)-- imwrite(Img(51:950,151:1550,:),[xxx/img_,sprintf(%04d,imgOrder),.png]); % 选取ROI保存的图像大小为1400*900
-- imwrite(Img(51:2:950,151:2:1550,:),[xxx/img_,sprintf(%04d,imgOrder),.png]); % 选取ROI并下采样保存的图像大小为700*450
相关文档 基于帧间差分法提取视频前景目标的matlab程序
help VideoReader
VIDEOREADER Create a multimedia reader object.
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.
If the object cannot be constructed for any reason (for example, if the file cannot be opened or does not exist, or if the file format is not recognized or supported), then MATLAB throws an error.
OBJ VIDEOREADER(FILENAME, P1, V1, P2, V2, ...) constructs a multimedia reader object, assigning values V1, V2, etc. to the specified properties P1, P2, etc.
If an invalid property name or property value is specified, MATLAB throws an error and the object is not created. Note that the property value pairs can be in any format supported by the SET function, e.g. parameter-value string pairs, structures, or parameter-value cell array pairs. Example:
% Construct a multimedia reader object associated with file xylophone.mpg with
% user tag set to myreader1.
readerobj VideoReader(xylophone.mpg, tag, myreader1);% Read in all video frames.
vidFrames read(readerobj); % 此句会消耗大量内存易导致计算机内存不足% Get the number of frames.
numFrames get(readerobj, numberOfFrames);% Create a MATLAB movie struct from the video frames.
for k 1 : numFramesmov(k).cdata vidFrames(:,:,:,k);mov(k).colormap [];
end% Create a figure
hf figure; % Resize figure based on the videos width and height
set(hf, position, [150 150 readerobj.Width readerobj.Height])% Playback movie once at the videos frame rate
movie(hf, mov, 1, readerobj.FrameRate);doc VideoReader
Use the VideoReader function with the read method to read video data from a file into the MATLAB workspace. The file formats that VideoReader supports vary by platform, as follows (with no restrictions on file extensions):
All Platforms: Motion JPEG 2000 (.mj2)
Windows: AVI (.avi), MPEG-1 (.mpg), Windows Media Video (.wmv, .asf, .asx), and any format supported by Microsoft DirectShow.
Macintosh: AVI (.avi), MPEG-1 (.mpg), MPEG-4 (.mp4, .m4v), Apple QuickTime Movie (.mov), and any format supported by QuickTime as listed on http://www.apple.com/quicktime/player/specs.html.
Linux: Any format supported by your installed plug-ins for GStreamer 0.10 or above, as listed on http://gstreamer.freedesktop.org/documentation/plugins.html, including AVI (.avi) and Ogg Theora (.ogg).
For more information, see Supported Video File Formats in the MATLAB Data Import and Export documentation
参考文献 [1] MATLAB将视频保存成图像-百度经验 [2] matlab帮助文档