MATLAB视频转换成图片,图片转换动图


视频转换图片:(20分钟视频大概1130000张)

MATLAB视频转换成图片,图片转换动图

clc;

clear;
%% 读取视频
video_file='全职高手第11集.avi';%%所在文件夹下面的视频,最好很短,不然全部转换需要较长时间
video=VideoReader(video_file);
frame_number=floor(video.Duration * video.FrameRate);
%% 分离图片
for i=1:frame_number
    image_name=strcat('11',num2str(i));
    image_name=strcat(image_name,'.jpg');
    I=read(video,i);                               %读出图片
    imwrite(I,image_name,'jpg');                   %写图片
    I=[];

end



图片转换动画(动图):

clc;close all;clear all;figure(1); 
%制作电影动画
m=moviein(28); %分配存储帧的内存      
a0=int2str(0);
for i=1:9      % 依次读入1-9张数字图像
  a=int2str(i);%%整数转换为字符
  a1=strcat('C:\Users\dell\Desktop\程序\第9章\P9-6\叶修\叶修',a0,a0,a,'.jpg');
  X1=imread(a1);imshow(X1);m(i)=getframe;
end
for i=10:28    % 依次读入10-28张数字图像
  a2=int2str(i);
  a3=strcat('C:\Users\dell\Desktop\程序\第9章\P9-6\叶修\叶修',a0,a2,'.jpg');
  X2=imread(a3);imshow(X2);m(i)=getframe;
end
movie(m,8);    %播放动画
%输出各个电影帧
figure(2);
for i=1:9
  subplot(7,4,i);
  a=int2str(i);
  a1=strcat('C:\Users\dell\Desktop\程序\第9章\P9-6\叶修\叶修',a0,a0,a,'.jpg');
  X1=imread(a1);
  image(X1);axis off;box off;
  a4=int2str(i);
  a5=strcat('第',a4,'帧');
  title(a5,'fontsize',9,'fontname','隶书');
end
for i=10:28
  subplot(7,4,i);
  a2=int2str(i);
  a3=strcat('C:\Users\dell\Desktop\程序\第9章\P9-6\叶修\叶修',a0,a2,'.jpg');
  X2=imread(a3);
  image(X2);axis off;box off;
  a6=int2str(i);
  a7=strcat('第',a6,'帧');
  title(a7,'fontsize',9,'fontname','隶书');

end

把刚刚全职高手的图片重新转换结果如下:

MATLAB视频转换成图片,图片转换动图


MATLAB视频转换成图片,图片转换动图