keyframe1.m

来自「本源码为利用光流法提取视频关键帧的matlab程序实现」· M 代码 · 共 34 行

M
34
字号
%%关键帧提取clear all;clc;tic;%start timeshot=mmread('video\\polar-bear.mpg',1:150);%读取视频axis offmovie(shot.frames,1,30,[45 50 0 0]);%%%播放视频axis on%%%%%%%%%%%%%HSoptflow(shot,n)f=size(shot.frames,2);flow=zeros(f);for i=1:f-1 [x1,y1,hs,ws]=HSoptflow(shot,i); for j=1:hs-1     for k=1:ws-1         flow(i)=flow(i)+abs(x1(j,k))+abs(y1(j,k));     end endend%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%figure,plot(flow),xlabel('帧号'),ylabel('视频帧光流变化曲线');%%变化曲线[sortflow,index]=sort(flow);for i=f:-1:1    if sortflow(i)>=150&&abs(index(i)-index(i-1))>10        %%%%%%%提取关键帧%%%%%%%%%         figure,imshow(shot.frames(1,index(i)).cdata),xlabel(strcat('第',int2str(index(i)),'关键帧'));    endend%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%             

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?