Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
O
opencv
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
opencv
Commits
e228b5c7
Commit
e228b5c7
authored
Aug 14, 2011
by
Ana Huaman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added sample for object detection with LBP in tutorial_code
parent
fec99539
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
81 additions
and
2 deletions
+81
-2
objectDetection.cpp
...les/cpp/tutorial_code/objectDetection/objectDetection.cpp
+3
-2
objectDetection2.cpp
...es/cpp/tutorial_code/objectDetection/objectDetection2.cpp
+78
-0
No files found.
samples/cpp/tutorial_code/objectDetection/objectDetection.cpp
View file @
e228b5c7
...
...
@@ -69,9 +69,9 @@ void detectAndDisplay( Mat frame )
cvtColor
(
frame
,
frame_gray
,
CV_BGR2GRAY
);
equalizeHist
(
frame_gray
,
frame_gray
);
//-- Detect faces
face_cascade
.
detectMultiScale
(
frame_gray
,
faces
,
1.1
,
2
,
0
|
CV_HAAR_SCALE_IMAGE
,
Size
(
30
,
30
)
);
//-- Detect faces
for
(
int
i
=
0
;
i
<
faces
.
size
();
i
++
)
{
Point
center
(
faces
[
i
].
x
+
faces
[
i
].
width
*
0.5
,
faces
[
i
].
y
+
faces
[
i
].
height
*
0.5
);
...
...
@@ -79,9 +79,10 @@ void detectAndDisplay( Mat frame )
Mat
faceROI
=
frame_gray
(
faces
[
i
]
);
std
::
vector
<
Rect
>
eyes
;
eyes_cascade
.
detectMultiScale
(
faceROI
,
eyes
,
1.1
,
2
,
0
|
CV_HAAR_SCALE_IMAGE
,
Size
(
30
,
30
)
);
//-- In each face, detect eyes
eyes_cascade
.
detectMultiScale
(
faceROI
,
eyes
,
1.1
,
2
,
0
|
CV_HAAR_SCALE_IMAGE
,
Size
(
30
,
30
)
);
for
(
int
j
=
0
;
j
<
eyes
.
size
();
j
++
)
{
Point
center
(
faces
[
i
].
x
+
eyes
[
j
].
x
+
eyes
[
j
].
width
*
0.5
,
faces
[
i
].
y
+
eyes
[
j
].
y
+
eyes
[
j
].
height
*
0.5
);
...
...
samples/cpp/tutorial_code/objectDetection/objectDetection2.cpp
0 → 100644
View file @
e228b5c7
/**
* @file objectDetection2.cpp
* @author A. Huaman ( based in the classic facedetect.cpp in samples/c )
* @brief A simplified version of facedetect.cpp, show how to load a cascade classifier and how to find objects (Face + eyes) in a video stream - Using LBP here
*/
#include "opencv2/objdetect/objdetect.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include <iostream>
#include <stdio.h>
using
namespace
std
;
using
namespace
cv
;
/** Function Headers */
void
detectAndDisplay
(
Mat
frame
);
/** Global variables */
String
face_cascade_name
=
"lbpcascade_frontalface.xml"
;
CascadeClassifier
face_cascade
;
string
window_name
=
"Capture - Face detection"
;
RNG
rng
(
12345
);
/**
* @function main
*/
int
main
(
int
argc
,
const
char
**
argv
)
{
CvCapture
*
capture
;
Mat
frame
;
//-- 1. Load the cascade
if
(
!
face_cascade
.
load
(
face_cascade_name
)
){
printf
(
"--(!)Error loading
\n
"
);
return
-
1
;
};
//-- 2. Read the video stream
capture
=
cvCaptureFromCAM
(
-
1
);
if
(
capture
)
{
while
(
true
)
{
frame
=
cvQueryFrame
(
capture
);
//-- 3. Apply the classifier to the frame
if
(
!
frame
.
empty
()
)
{
detectAndDisplay
(
frame
);
}
else
{
printf
(
" --(!) No captured frame -- Break!"
);
break
;
}
int
c
=
waitKey
(
10
);
if
(
(
char
)
c
==
'c'
)
{
break
;
}
}
}
return
0
;
}
/**
* @function detectAndDisplay
*/
void
detectAndDisplay
(
Mat
frame
)
{
std
::
vector
<
Rect
>
faces
;
Mat
frame_gray
;
cvtColor
(
frame
,
frame_gray
,
CV_BGR2GRAY
);
equalizeHist
(
frame_gray
,
frame_gray
);
//-- Detect faces
face_cascade
.
detectMultiScale
(
frame_gray
,
faces
,
1.1
,
2
,
0
,
Size
(
80
,
80
)
);
for
(
int
i
=
0
;
i
<
faces
.
size
();
i
++
)
{
Point
center
(
faces
[
i
].
x
+
faces
[
i
].
width
*
0.5
,
faces
[
i
].
y
+
faces
[
i
].
height
*
0.5
);
ellipse
(
frame
,
center
,
Size
(
faces
[
i
].
width
*
0.5
,
faces
[
i
].
height
*
0.5
),
0
,
0
,
360
,
Scalar
(
255
,
0
,
0
),
2
,
8
,
0
);
}
//-- Show what you got
imshow
(
window_name
,
frame
);
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment