⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 framedif6.m

📁 多种基于内容的视频检索镜头分割算法matlab程序
💻 M
字号:
%求解视频的帧差分布 (方法六,方差分布图)
%读取视频
clear all;
clc;
tic;%start time
shot=mpgread('..\videos\wipe.mpg',[],'truecolor');%读取视频
%shot=aviread('video\skiing.avi');
frames=size(shot,2);

framedif=zeros(frames,1);
framedifr=zeros(frames,1);
framedifg=zeros(frames,1);
framedifb=zeros(frames,1);
framedifrgb=zeros(frames,1);
%%%%%%%%%%%%%求帧方差分布图%%%%%%%%%%%%%%
w=size(shot(1,1).cdata,1);%width
h=size(shot(1,1).cdata,2);%height
size =w*h;
%%%%%%%%%%
average=0;
averager=0;
averageg=0;
averageb=0;
averagergb=0;

for i=1:frames
  gray=double(rgb2gray(shot(1,i).cdata));
  r=double(shot(1,i).cdata(:,:,1));
  g=double(shot(1,i).cdata(:,:,2));
  b=double(shot(1,i).cdata(:,:,3));
  for j=1:w
      for k=1:h
           average=average+gray(j,k);
%            averager=averager+r(j,k);
%            averageg=averageg+g(j,k);
%            averageb=averageb+b(j,k);
       end
   end
   average=average/(size);
   averagergb=(averager+averageg+averageb)/(3*size);
   for j=1:w
       for k=1:h
           framedif(i,1)=framedif(i,1)+(gray(j,k)-average)*(gray(j,k)-average);
           %framedifr(i,1)=framedifr(i,1)+(r(j,k)-averager)*(r(j,k)-averager);
           %framedifg(i,1)=framedifg(i,1)+(g(j,k)-averageg)*(g(j,k)-averageg);
           %framedifb(i,1)=framedifb(i,1)+(b(j,k)-averageb)*(b(j,k)-averageb);
           %framedifrgb(i,1)=framedifrgb(i,1)+(framedifr(i,1)+framedifg(i,1)+framedifb(i,1))/3;
      end
    end
    framedif(i,1)=sqrt(framedif(i,1)/size);
end
% framedifr(i,1)=sqrt(framedifr(i,1)/size);
% framedifg(i,1)=sqrt(framedifg(i,1)/size);
% framedifb(i,1)=sqrt(framedifb(i,1)/size);
% framedifrgb(i,1)=sqrt(framedifrgb(i,1)/size);
 %%%%%%%%%绘制图形%%%%%%%%%%%
 figure,
 %plot(framedif,'y');
 plot(framedif);
 %figure,
 %plot(framedifr,'r');
 %figure,
 %plot(framedifg,'g');
 %figure,
 %plot(framedifb,'b');
 %figure,
 %plot(framedifrgb,'k');
 xlabel('帧数');% x label
 ylabel('帧标准差');%y label
 title('视频帧标准差统计');%title setting
 %l=legend('灰度值','R分量','G分量','B分量','彩色量');
 %legend('灰度值');
 box on;
 %set(gca,'Color','none');
 %set(l,'color','none');
 %text(90,0.5,'突变边界');
 %line([0,150],[0.46,0.46],'color','k','linestyle','-.');
 toc;%统计时间
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

⌨️ 快捷键说明

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