Üye
MATLAB:
clear;clc;close all;
%%
global blink_status;
blink_status = 0;
load EyeDatabase
LeftEyeDetector = vision.CascadeObjectDetector('LeftEyeCART');
imaqreset
vid = videoinput('winvideo', 1, 'MJPG_640x480');
src = getselectedsource(vid);
vid.FramesPerTrigger = Inf;
start(vid);
preview(vid);
%%
Mdl = fitcsvm(fea,group);
figuretitle = '';
%%
for nframes = 1:100
im = getsnapshot(vid);
% im = getdata(vid);
im = imresize(im,[500,NaN]);
[r,c,p] = size(im);
if p == 3
gr = rgb2gray(im);
else
gr = im;
end
gr = imadjust(gr);
gr = histeq(gr);
bboxleye = step(LeftEyeDetector, gr);
if ~isempty(bboxleye)
if numel(bboxleye(1,:)) == 4
LeftEye=imcrop(gr,bboxleye(1,:));
LeftEye=imresize(LeftEye,[100 100]);
pause(0.01)
imshow(LeftEye);
title(figuretitle);
[feature] = extractHOGFeatures(LeftEye);
label = predict(Mdl,feature);
if label == 1
disp('closed');
figuretitle = 'closed';
drawnow
blink_status = 1;
else
disp('open');
figuretitle = 'open';
drawnow
blink_status = 0;
end
if blink_status == 1
disp('BLINK');
figuretitle = 'BLINK';
drawnow
blink_status = 0;
end
end
end
end
stoppreview(vid);
stop(vid);
closepreview(vid);