You are on page 1of 2

function varargout = tugasGUI(varargin)

gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @tugasGUI_OpeningFcn, ...
'gui_OutputFcn', @tugasGUI_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT

% --- Executes just before tugasGUI is made visible.


function tugasGUI_OpeningFcn(hObject, eventdata, handles, varargin)

handles.output = hObject;

% Update handles structure


guidata(hObject, handles);

% --- Outputs from this function are returned to the command line.
function varargout = tugasGUI_OutputFcn(hObject, eventdata, handles)

% Get default command line output from handles structure


varargout{1} = handles.output;

% --- Executes on button press in mulmul.


function mulmul_Callback(hObject, eventdata, handles)
global flagStart
flagStart=1;
imaqreset
vid=videoinput('winvideo',1,'YUY2_640x480');

triggerconfig(vid,'manual');
set(vid,'FramesPerTrigger',1,'TriggerRepeat',Inf);

faceDetector1=vision.CascadeObjectDetector();
faceDetector2=vision.CascadeObjectDetector('Mouth');
faceDetector3=vision.CascadeObjectDetector('Nose');
faceDetector4=vision.CascadeObjectDetector('RightEye');
faceDetector5=vision.CascadeObjectDetector('LeftEye');
faceDetector2.MergeThreshold=150;
faceDetector3.MergeThreshold=50;
faceDetector4.MergeThreshold=200;
faceDetector5.MergeThreshold=200;

start(vid);
trigger(vid);
frame=getdata(vid);
hshow=imshow(frame,'Parent',handles.axes1);
tStart=clock;
while flagStart
trigger(vid);
frame=getdata(vid);
frame=ycbcr2rgb(frame);

bbox1=step(faceDetector1,frame);
bbox2=step(faceDetector2,frame);
bbox3=step(faceDetector3,frame);
bbox4=step(faceDetector4,frame);
bbox5=step(faceDetector5,frame);

frameOut1=insertObjectAnnotation(frame,'rectangle',bbox1,'Full Face');
frameOut2=insertObjectAnnotation(frameOut1,'rectangle',bbox2,'Mouth');
frameOut3=insertObjectAnnotation(frameOut2,'rectangle',bbox3,'Nose');
frameOut4=insertObjectAnnotation(frameOut3,'rectangle',bbox4,'Right-Eye');
frameOut5=insertObjectAnnotation(frameOut4,'rectangle',bbox5,'Left-Eye');

set(hshow,'CData',frameOut5);
end
imshow(ones(480,640,3),'Parent',handles.axes1);
TimeProcess=etime(clock,tStart)

% --- Executes on button press in stoping.


function stoping_Callback(hObject, eventdata, handles)
global flagStart
flagStart=0;

% --- Executes during object creation, after setting all properties.


function axes1_CreateFcn(hObject, eventdata, handles)

You might also like