You are on page 1of 2

% --- Executes on button press in pushbutton1.

function pushbutton1_Callback(hObject, eventdata, handles)


% function pushbutton1_Callback(hObject, eventdata, handles)
global flagStart
flagStart=1;
imaqreset
vid=videoinput('winvideo',1,'RGB24_640x480');
triggerconfig(vid,'manual');
set(vid,'FramesPerTrigger',1,'TriggerRepeat',Inf);
faceDetector= vision.CascadeObjectDetector();
noseDetector= vision.CascadeObjectDetector('Nose','UseROI', true);
detector = vision.CascadeObjectDetector('Mouth','UseROI', true);
detectorl= vision.CascadeObjectDetector('EyePairBig','UseROI', true);
start (vid)
nFrame=60;
tStart=clock;
for k=1:nFrame
trigger(vid);
frame=getdata(vid);
bbox = step(faceDetector, frame);
faceOut = insertObjectAnnotation(frame,'rectangle',bbox,'Muka');
[hueChannel,~,~] = rgb2hsv(frame);
% rectangle('Position',bbox(1,:),'LineWidth',2,'EdgeColor',[1 1 0])
noseBBox
= step(noseDetector, frame, bbox);
mouthBBox
= step(detector, frame, bbox);
eyepairBBox
= step(detectorl, frame, bbox);
ntracker = vision.HistogramBasedTracker;
mtracker = vision.HistogramBasedTracker;
etracker = vision.HistogramBasedTracker;
initializeObject(ntracker, hueChannel, noseBBox(1,:));
initializeObject(mtracker, hueChannel, mouthBBox(1,:));
initializeObject(etracker, hueChannel, eyepairBBox(1,:));
nbbox = step(ntracker, hueChannel);
mbbox = step(mtracker, hueChannel);
ebbox = step(etracker, hueChannel);
noseOut = insertObjectAnnotation(frame,'rectangle',nbbox,'Hidung');
mouthOut = insertObjectAnnotation(frame,'rectangle',mbbox,'Mulut');
eyepairOut = insertObjectAnnotation(frame,'rectangle',ebbox,'Sepasang
Mata');
frameOut=faceOut+noseOut+mouthOut+eyepairOut;
imshow(frameOut,'Parent',handles.axes1)
end
imshow(ones(480,640,3),'Parent',handles.axes1)
TimeProcess=etime(clock,tStart)
%stop(vid)
% --- Executes on button press in pushbutton2.

function pushbutton2_Callback(hObject, eventdata, handles)


global flagStart
flagStart=0;

You might also like