matlab将多张图片合成视频

文件夹内多张图合成为视频:

route='D:\文件及下载相关\桌面\**\Matlab_code\result';%基本路径
%d=dir([route '\*.bmp']);%.jpg格式

WriterObj=VideoWriter('video','MPEG-4');%待合成的视频(不仅限于avi格式)的文件路径
open(WriterObj);

%n_frames=numel(d);% n_frames表示图像帧的总数
for i=1:708
filename=strcat('D:\文件及下载相关\桌面\***\Matlab_code\result\',num2str(i),'.bmp');
frame=imread(filename);%读取图像,放在变量frame中
writeVideo(WriterObj,frame);%将frame放到变量WriterObj中
%%为每一帧图像编号
end
close(WriterObj);

2、

clear 
pic=dir('D:\Documents\MATLAB\out_avi\photo_frames\*.jpg'); 

%取文件的数量:num 
a=size(pic); 
num=a(1); 

for i=1:19
im(:,:,:,i)=imread(strcat(num2str(i),'.jpg')); 
imshow(im(:,:,:,i)) 
M(i) = getframe; 
end 

movie2avi(M,'out.avi','FPS',8)%输出视频

 

将视频按帧分解为一张张图片:

fileName = 'near2.avi';  
obj = VideoReader(fileName); 
numFrames = obj.NumberOfFrames;                     % 读取视频的帧数  
for i = 1 : numFrames      
    frame = read(obj,i);                            % 读取每一帧      
    %imshow(frame);                                  %显示每一帧      
    imwrite(frame,strcat('./nearframe2/',num2str(i),'.bmp'),'bmp'); % 保存每一帧 
end

 

 

【其他】

Matlab将图像帧合成视频 - 叶子结点的专栏 - CSDN博客 https://blog.csdn.net/rt5rte54654/article/details/39008431

 

posted @ 2019-07-23 16:54  ostartech  阅读(7036)  评论(0编辑  收藏  举报