MATLAB: Can i use 2 push buttons to start and stop this code of mine

background subtractionpush buttons

i tried using 2 push buttons to start and stop my video processing. But the GUI disappears as soon as i click start. whats seems to be the problem? here is the executable part of my code
clc;
close all;
clear all;
source = videoinput('winvideo');
set(source, 'ReturnedColorSpace', 'RGB');
set(source, 'FramesPerTrigger', 1);
set(source, 'TriggerRepeat', 50);
triggerconfig(source, 'manual');
start(source);
thresh = 15/255;
pause(2);
trigger(source);
bg = getdata(source,1,'double');
bg_bw = rgb2gray(bg);
fr_size = size(bg);
width = fr_size(2);
height = fr_size(1);
f = zeros(height, width);
for i=1:50
trigger(source);
fr=getdata(source,1,'double');
fr1=fr(:,:,:,1);
fr_bw1=rgb2gray(fr1);
bg_fr_diff = abs((double(bg_bw)) - (double(fr_bw1)));
for j=1:width % if fr_diff > thresh pixel in foreground
for k=1:height
if (bg_fr_diff(k,j) > thresh)
f(k,j) =255;
else
f(k,j) = 0;
end
end
end
figure(1),subplot(2,1,1),imshow(fr1)
subplot(2,1,2),imshow(uint8(f))
bg_bw=fr_bw1

Best Answer

Get rid of the "clear all" and "close all".
Related Question