-
Notifications
You must be signed in to change notification settings - Fork 5
/
faceDetectDemo.m
64 lines (49 loc) · 1.94 KB
/
faceDetectDemo.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
function [] = faceDetectDemo( )
% Create a cascade detector object.
faceDetector = vision.CascadeObjectDetector();
% Read a video frame and run the face detector.
%videoFileReader = vision.VideoFileReader('tilted_face.avi');
%videoFileReader = vision.VideoFileReader('test.wmv');
%videoFileReader = imaq.VideoDevice('macvideo', 1, 'YCbCr422_1280x720','ROI',[1 1 1280 720]);
videoFileReader = imaq.VideoDevice('winvideo', 1, 'MJPG_640x480','ROI',[1 1 640 480]);
videoFrame = step(videoFileReader);
bbox = step(faceDetector, videoFrame);
while(size(bbox,1)<1)
videoFrame= step(videoFileReader);
bbox= step(faceDetector, videoFrame);
end
% Draw the returned bounding box around the detected face.
for i=1:size(bbox,1)
videoFrame = insertShape(videoFrame, 'Rectangle', bbox(i,:));
end
figure(1); imshow(videoFrame); title('Detected face');
videoPlayer = vision.VideoPlayer('Position',...
[100 100 [size(videoFrame, 2), size(videoFrame, 1)]+30]);
% Make a copy of the points to be used for computing the geometric
% transformation between the points in the previous and the current frames
for taoefaeffadef =1:900
%taoefaeffadef
%while ~isDone(videoFileReader)
% get the next frame
videoFrame = step(videoFileReader);
bbox= step(faceDetector, videoFrame);
%size(bbox,1)
while(size(bbox,1)<1)
videoFrame= step(videoFileReader);
bbox= step(faceDetector, videoFrame);
step(videoPlayer, videoFrame);
end
% Draw the returned bounding box around the detected face.
for i=1:size(bbox,1)
videoFrame = insertShape(videoFrame, 'Rectangle', bbox(i,:));
end
% Display the annotated video frame using the video player object
step(videoPlayer, videoFrame);
% Detect feature points in the face region.
%points = detectMinEigenFeatures(rgb2gray(videoFrame), 'ROI', bbox);
end
% Clean up
release(videoFileReader);
release(videoPlayer);
release(pointTracker);
end