Cascade classifier class for object detection. More...
#include <objdetect.hpp>
Public Member Functions | |
CV_WRAP | CascadeClassifier () |
CV_WRAP | CascadeClassifier (const String &filename) |
Loads a classifier from a file. More... | |
~CascadeClassifier () | |
CV_WRAP bool | empty () const |
Checks whether the classifier has been loaded. More... | |
CV_WRAP bool | load (const String &filename) |
Loads a classifier from a file. More... | |
CV_WRAP bool | read (const FileNode &node) |
Reads a classifier from a FileStorage node. More... | |
CV_WRAP void | detectMultiScale (InputArray image, CV_OUT std::vector< Rect > &objects, double scaleFactor=1.1, int minNeighbors=3, int flags=0, Size minSize=Size(), Size maxSize=Size()) |
Detects objects of different sizes in the input image. The detected objects are returned as a list of rectangles. More... | |
CV_WRAP_AS (detectMultiScale2) void detectMultiScale(InputArray image | |
CV_WRAP_AS (detectMultiScale3) void detectMultiScale(InputArray image | |
CV_WRAP bool | isOldFormatCascade () const |
CV_WRAP Size | getOriginalWindowSize () const |
CV_WRAP int | getFeatureType () const |
void * | getOldCascade () |
void | setMaskGenerator (const Ptr< BaseCascadeClassifier::MaskGenerator > &maskGenerator) |
Ptr< BaseCascadeClassifier::MaskGenerator > | getMaskGenerator () |
Static Public Member Functions | |
static CV_WRAP bool | convert (const String &oldcascade, const String &newcascade) |
Cascade classifier class for object detection.
CV_WRAP cv::CascadeClassifier::CascadeClassifier | ( | ) |
Loads a classifier from a file.
filename | Name of the file from which the classifier is loaded. |
cv::CascadeClassifier::~CascadeClassifier | ( | ) |
|
static |
cv::CascadeClassifier::CV_WRAP_AS | ( | detectMultiScale2 | ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
image | Matrix of the type CV_8U containing an image where objects are detected. |
objects | Vector of rectangles where each rectangle contains the detected object, the rectangles may be partially outside the original image. |
numDetections | Vector of detection numbers for the corresponding objects. An object's number of detections is the number of neighboring positively classified rectangles that were joined together to form the object. |
scaleFactor | Parameter specifying how much the image size is reduced at each image scale. |
minNeighbors | Parameter specifying how many neighbors each candidate rectangle should have to retain it. |
flags | Parameter with the same meaning for an old cascade as in the function cvHaarDetectObjects. It is not used for a new cascade. |
minSize | Minimum possible object size. Objects smaller than that are ignored. |
maxSize | Maximum possible object size. Objects larger than that are ignored. If maxSize == minSize model is evaluated on single scale. |
cv::CascadeClassifier::CV_WRAP_AS | ( | detectMultiScale3 | ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. This function allows you to retrieve the final stage decision certainty of classification. For this, one needs to set outputRejectLevels
on true and provide the rejectLevels
and levelWeights
parameter. For each resulting detection, levelWeights
will then contain the certainty of classification at the final stage. This value can then be used to separate strong from weaker classifications.
A code sample on how to use it efficiently can be found below:
CV_WRAP void cv::CascadeClassifier::detectMultiScale | ( | InputArray | image, |
CV_OUT std::vector< Rect > & | objects, | ||
double | scaleFactor = 1.1 , |
||
int | minNeighbors = 3 , |
||
int | flags = 0 , |
||
Size | minSize = Size() , |
||
Size | maxSize = Size() |
||
) |
Detects objects of different sizes in the input image. The detected objects are returned as a list of rectangles.
image | Matrix of the type CV_8U containing an image where objects are detected. |
objects | Vector of rectangles where each rectangle contains the detected object, the rectangles may be partially outside the original image. |
scaleFactor | Parameter specifying how much the image size is reduced at each image scale. |
minNeighbors | Parameter specifying how many neighbors each candidate rectangle should have to retain it. |
flags | Parameter with the same meaning for an old cascade as in the function cvHaarDetectObjects. It is not used for a new cascade. |
minSize | Minimum possible object size. Objects smaller than that are ignored. |
maxSize | Maximum possible object size. Objects larger than that are ignored. If maxSize == minSize model is evaluated on single scale. |
CV_WRAP bool cv::CascadeClassifier::empty | ( | ) | const |
Checks whether the classifier has been loaded.
CV_WRAP int cv::CascadeClassifier::getFeatureType | ( | ) | const |
Ptr<BaseCascadeClassifier::MaskGenerator> cv::CascadeClassifier::getMaskGenerator | ( | ) |
void* cv::CascadeClassifier::getOldCascade | ( | ) |
CV_WRAP bool cv::CascadeClassifier::isOldFormatCascade | ( | ) | const |
Loads a classifier from a file.
filename | Name of the file from which the classifier is loaded. The file may contain an old HAAR classifier trained by the haartraining application or a new cascade classifier trained by the traincascade application. |
Reads a classifier from a FileStorage node.
void cv::CascadeClassifier::setMaskGenerator | ( | const Ptr< BaseCascadeClassifier::MaskGenerator > & | maskGenerator | ) |
Ptr<BaseCascadeClassifier> cv::CascadeClassifier::cc |
CV_OUT std::vector<Rect> CV_OUT std::vector<int> double int int cv::CascadeClassifier::flags =0 |
CV_OUT std::vector<Rect> CV_OUT std::vector<int> CV_OUT std::vector<double> double int int cv::CascadeClassifier::flags = 0 |
CV_OUT std::vector<Rect> CV_OUT std::vector<int> CV_OUT std::vector<double>& cv::CascadeClassifier::levelWeights |
CV_OUT std::vector<Rect> CV_OUT std::vector<int> double int int Size Size cv::CascadeClassifier::maxSize =Size() ) |
CV_OUT std::vector<Rect> CV_OUT std::vector<int> CV_OUT std::vector<double> double int int Size Size cv::CascadeClassifier::maxSize = Size() |
CV_OUT std::vector<Rect> CV_OUT std::vector<int> double int cv::CascadeClassifier::minNeighbors =3 |
CV_OUT std::vector<Rect> CV_OUT std::vector<int> CV_OUT std::vector<double> double int cv::CascadeClassifier::minNeighbors = 3 |
CV_OUT std::vector<Rect> CV_OUT std::vector<int> double int int Size cv::CascadeClassifier::minSize =Size() |
CV_OUT std::vector<Rect> CV_OUT std::vector<int> CV_OUT std::vector<double> double int int Size cv::CascadeClassifier::minSize = Size() |
CV_OUT std::vector<Rect> CV_OUT std::vector<int>& cv::CascadeClassifier::numDetections |
CV_OUT std::vector< Rect > & cv::CascadeClassifier::objects |
CV_OUT std::vector<Rect> CV_OUT std::vector<int> CV_OUT std::vector<double> double int int Size Size bool cv::CascadeClassifier::outputRejectLevels = false ) |
CV_OUT std::vector<Rect> CV_OUT std::vector<int>& cv::CascadeClassifier::rejectLevels |
CV_OUT std::vector<Rect> CV_OUT std::vector<int> double cv::CascadeClassifier::scaleFactor =1.1 |
CV_OUT std::vector<Rect> CV_OUT std::vector<int> CV_OUT std::vector<double> double cv::CascadeClassifier::scaleFactor = 1.1 |