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 + -
显示快捷键?