www.gusucode.com > IPCV_Eval_Kit_R2019a_0ce6858工具箱matlab程序源码 > IPCV_Eval_Kit_R2019a_0ce6858/code/demo_files/I4_07_3_MotionDetection.m
%% 摦夋拞偺摦偄偰偄傞椞堟傪専弌 clc;clear;close all;imtool close all; %% 摦夋傪撉崬傓偨傔偺僆僽僕僃僋僩偺惗惉 videoSource = vision.VideoFileReader('atrium.mp4'); %% 摦偄偰偄傞慜宨傪専弌偡傞僆僽僕僃僋僩傪惗惉 detector = vision.ForegroundDetector('NumGaussians', 3, ... 'NumTrainingFrames', 40, 'MinimumBackgroundRatio', 0.7); %% 椞堟偺嵗昗庢摼梡僆僽僕僃僋僩偺惗惉 乮400僺僋僙儖埲忋偺傕偺乯 blob = vision.BlobAnalysis( 'AreaOutputPort',false, ... 'CentroidOutputPort',false, 'BoundingBoxOutputPort',true, ... 'MinimumBlobArea',400); %% 摦夋昞帵梡偺僆僽僕僃僋僩偺惗惉 sz = get(0,'ScreenSize'); videoPlayer = vision.VideoPlayer('Position', [150,sz(4)-490,1000,400]); %% Stop 儃僞儞昞帵 a=true; sz = get(0,'ScreenSize'); figure('MenuBar','none','Toolbar','none','Position',[20 sz(4)-100 100 70]) uicontrol('Style', 'pushbutton', 'String', 'Stop',... 'Position', [20 20 80 40], 'Callback', 'a=false;'); while ~isDone(videoSource) && a % 1僼儗乕儉庢摼 frame = step(videoSource); % 1僼儗乕儉庢摼 % 摦偄偰偄傞椞堟偺専弌g傪憓擖 fgMask = step(detector, frame); % 摦偄偰偄傞椞堟偺専弌 bbox = step(blob, fgMask); % 椞堟偺嵗昗傪庢摼 out = insertShape(frame, 'Rectangle', bbox); % 巐妏榞傪憓擖 % 寢壥偺昞帵 step(videoPlayer, [repmat(fgMask,[1,1,3]) out]); end %% release(videoPlayer); release(videoSource); %% Copyright 2016 The MathWorks, Inc.