huidu.m

来自「这是matlab灰度差程序」· M 代码 · 共 33 行

M
33
字号
T=2.1734e-006;%设定阈值
mov=mpgread('E:\yuzhi.mpg'); %读入存在E盘的视频
fnum=size(mov,2); %读取电影的祯数,mov为1*temp
for i=1:fnum
[r,g,b]=mpgread('E:\yuzhi.mpg',i);
A(:,:,1)=r;
A(:,:,2)=g;
A(:,:,3)=b;
B=rgb2gray(A);
C(:,:,i)=B;
end                 %读入视频的灰度
for i=2:fnum
F(:,:,i)=abs(C(:,:,i)-C(:,:,i-1));
end                 %得到视频的灰度差
[x,y,frems]=size(F);
for n=1:fnum
    for i=1:(x-1)
        for j=1:(y-1)
          F(i,j,n)=F(i,j,n)+F(i+1,j+1,n);
        end
    end
    D(:,n)=F(i,j,n)/(x*y);
end
for n=1:fnum
    if D(:,n)>T
        disp(n);
        [r,g,b]=mpgread('E:\yuzhi.mpg',n);
A(:,:,1)=r;
A(:,:,2)=g;
A(:,:,3)=b;
imshow(A);
    end        
end                %显示下一镜头的第一帧

⌨️ 快捷键说明

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