资源简介

帧差法提取视频前景,最常用的视频提取方法,MATLAB实现

资源截图

代码片段和文件信息

%implay(‘highwayII_raw.avi‘);
clc;clear all;close all;
videoObj = VideoReader(‘office.avi‘);%读视频文件
nframes = get(videoObj ‘NumberOfframes‘);%获取视频文件帧个数
for k = 1 : nframes
    currentframe = read(videoObj k);%读取第i帧
    subplot(221);%创建图像显示窗口并获取第一个窗口句柄
    imshow(currentframe);
  
    % Convert to grayscale.
    grayframe = rgb2gray(currentframe);%灰度化
      [mn] = size(grayframe);
    a(::k) = grayframe;
%     subplot(224);
%     imshow(grayframe);
    if(k==1)
        grayframe_2 = grayframe;
        grayframe_1 = grayframe;
        
    end
   
    difgrayframe= grayframe - grayframe_1;%邻帧差
    grayframe_2 = grayframe_1;
    grayframe_1 = grayframe;
     
    for i=1:120
        for j=1:160
            if difgrayframe(ij)<20 difgrayframe(ij)=0;
            end
        end
    end
    subplot(222);
    imshow(difgrayframe);
  
     flagframe = grayframe & difgrayframe;
    for i=1:120
        for j=1:160
     

评论

共有 条评论