@techstark/opencv-js
Version:
OpenCV JavaScript version for node.js or browser
101 lines (100 loc) • 5.15 kB
TypeScript
import type { bool, double, FileNode, InputArray, int, Mat, Ptr, Size } from "./_types";
export declare class CascadeClassifier extends Mat {
cc: Ptr;
constructor();
/**
* @param filename Name of the file from which the classifier is loaded.
*/
constructor(filename: String);
/**
* The function is parallelized with the TBB library.
*
* (Python) A face detection example using cascade classifiers can be found at
* opencv_source_code/samples/python/facedetect.py
*
* @param image Matrix of the type CV_8U containing an image where objects are detected.
*
* @param objects Vector of rectangles where each rectangle contains the detected object, the
* rectangles may be partially outside the original image.
*
* @param scaleFactor Parameter specifying how much the image size is reduced at each image scale.
*
* @param minNeighbors Parameter specifying how many neighbors each candidate rectangle should have
* to retain it.
*
* @param flags Parameter with the same meaning for an old cascade as in the function
* cvHaarDetectObjects. It is not used for a new cascade.
*
* @param minSize Minimum possible object size. Objects smaller than that are ignored.
*
* @param maxSize Maximum possible object size. Objects larger than that are ignored. If maxSize ==
* minSize model is evaluated on single scale.
*/
detectMultiScale(image: InputArray, objects: any, scaleFactor?: double, minNeighbors?: int, flags?: int, minSize?: Size, maxSize?: Size): InputArray;
/**
* This is an overloaded member function, provided for convenience. It differs from the above
* function only in what argument(s) it accepts.
*
* @param image Matrix of the type CV_8U containing an image where objects are detected.
*
* @param objects Vector of rectangles where each rectangle contains the detected object, the
* rectangles may be partially outside the original image.
*
* @param 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.
*
* @param scaleFactor Parameter specifying how much the image size is reduced at each image scale.
*
* @param minNeighbors Parameter specifying how many neighbors each candidate rectangle should have
* to retain it.
*
* @param flags Parameter with the same meaning for an old cascade as in the function
* cvHaarDetectObjects. It is not used for a new cascade.
*
* @param minSize Minimum possible object size. Objects smaller than that are ignored.
*
* @param maxSize Maximum possible object size. Objects larger than that are ignored. If maxSize ==
* minSize model is evaluated on single scale.
*/
detectMultiScale(image: InputArray, objects: any, numDetections: any, scaleFactor?: double, minNeighbors?: int, flags?: int, minSize?: Size, maxSize?: Size): InputArray;
/**
* 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:
*
* ```cpp
* Mat img;
* vector<double> weights;
* vector<int> levels;
* vector<Rect> detections;
* CascadeClassifier model("/path/to/your/model.xml");
* model.detectMultiScale(img, detections, levels, weights, 1.1, 3, 0, Size(), Size(), true);
* cerr << "Detection " << detections[0] << " with weight " << weights[0] << endl;
* ```
*/
detectMultiScale(image: InputArray, objects: any, rejectLevels: any, levelWeights: any, scaleFactor?: double, minNeighbors?: int, flags?: int, minSize?: Size, maxSize?: Size, outputRejectLevels?: bool): InputArray;
empty(): bool;
getFeatureType(): int;
getMaskGenerator(): Ptr;
getOldCascade(): any;
getOriginalWindowSize(): Size;
isOldFormatCascade(): bool;
/**
* @param 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.
*/
load(filename: String): String;
/**
* The file may contain a new cascade classifier (trained traincascade application) only.
*/
read(node: FileNode): FileNode;
setMaskGenerator(maskGenerator: Ptr): Ptr;
static convert(oldcascade: String, newcascade: String): String;
}