24 #include <core/exception.h>
25 #include <core/exceptions/software.h>
26 #include <fvclassifiers/faces.h>
27 #include <fvutils/adapters/cvmatadapter.h>
28 #include <fvutils/color/colorspaces.h>
29 #include <fvutils/color/conversions.h>
33 namespace firevision {
60 unsigned int pixel_width,
61 unsigned int pixel_height,
63 float haar_scale_factor,
68 haar_scale_factor_ = haar_scale_factor;
69 min_neighbours_ = min_neighbours;
71 std::string tmp_str = std::string(haarcascade_file);
72 if (!cascade_.load(tmp_str)) {
80 image_ = cv::Mat(cv::Size(pixel_width, pixel_height), CV_8UC1, 3);
94 std::list<ROI> *rv =
new std::list<ROI>();
100 std::vector<cv::Rect> face_seq;
101 cascade_.detectMultiScale(image_, face_seq, haar_scale_factor_, min_neighbours_, flags_);
103 for (
int i = 0; i < int(face_seq.size()); ++i) {
104 cv::Rect el = face_seq[i];
Base class for exceptions in Fawkes.
Classifier to extract regions of interest.
unsigned int _height
Height in pixels of _src buffer.
unsigned char * _src
Source buffer, encoded as YUV422_PLANAR.
unsigned int _width
Width in pixels of _src buffer.
static void convert_image_bgr(unsigned char *buffer, cv::Mat &image)
Convert image from buffer into cv::Mat.
FacesClassifier(const char *haarcascade_file, unsigned int pixel_width, unsigned int pixel_height, cv::Mat &image, float haar_scale_factor=1.1, int min_neighbours=3, int flags=0)
Constructor.
virtual std::list< ROI > * classify()
Classify image.
virtual ~FacesClassifier()
Destructor.
unsigned int num_hint_points
Minimum estimate of points in ROI that are attributed to the ROI hint.