ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

matlab将多张图片合成视频

2019-07-23 17:03:10  阅读:278  来源: 互联网

标签:视频 一帧 avi frame WriterObj 合成视频 bmp 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

 

标签:视频,一帧,avi,frame,WriterObj,合成视频,bmp,matlab,图片
来源: https://www.cnblogs.com/wxl845235800/p/11232847.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有