// // This file is auto-generated. Please don't modify it! // package org.opencv.objdetect; import java.lang.String; import org.opencv.core.Mat; import org.opencv.core.MatOfDouble; import org.opencv.core.MatOfInt; import org.opencv.core.MatOfRect; import org.opencv.core.Size; // C++: class CascadeClassifier /** * <p>Cascade classifier class for object detection.</p> * * @see <a href="http://docs.opencv.org/modules/objdetect/doc/cascade_classification.html#cascadeclassifier">org.opencv.objdetect.CascadeClassifier</a> */ public class CascadeClassifier { protected final long nativeObj; protected CascadeClassifier(long addr) { nativeObj = addr; } // // C++: CascadeClassifier::CascadeClassifier() // /** * <p>Loads a classifier from a file.</p> * * @see <a href="http://docs.opencv.org/modules/objdetect/doc/cascade_classification.html#cascadeclassifier-cascadeclassifier">org.opencv.objdetect.CascadeClassifier.CascadeClassifier</a> */ public CascadeClassifier() { nativeObj = CascadeClassifier_0(); return; } // // C++: CascadeClassifier::CascadeClassifier(string filename) // /** * <p>Loads a classifier from a file.</p> * * @param filename Name of the file from which the classifier is loaded. * * @see <a href="http://docs.opencv.org/modules/objdetect/doc/cascade_classification.html#cascadeclassifier-cascadeclassifier">org.opencv.objdetect.CascadeClassifier.CascadeClassifier</a> */ public CascadeClassifier(String filename) { nativeObj = CascadeClassifier_1(filename); return; } // // C++: void CascadeClassifier::detectMultiScale(Mat image, vector_Rect& objects, double scaleFactor = 1.1, int minNeighbors = 3, int flags = 0, Size minSize = Size(), Size maxSize = Size()) // /** * <p>Detects objects of different sizes in the input image. The detected objects * are returned as a list of rectangles.</p> * * <p>The function is parallelized with the TBB library.</p> * * <p>Note:</p> * <ul> * <li> (Python) A face detection example using cascade classifiers can be * found at opencv_source_code/samples/python2/facedetect.py * </ul> * * @param image Matrix of the type <code>CV_8U</code> containing an image where * objects are detected. * @param objects Vector of rectangles where each rectangle contains the * detected 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 <code>cvHaarDetectObjects</code>. 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. * * @see <a href="http://docs.opencv.org/modules/objdetect/doc/cascade_classification.html#cascadeclassifier-detectmultiscale">org.opencv.objdetect.CascadeClassifier.detectMultiScale</a> */ public void detectMultiScale(Mat image, MatOfRect objects, double scaleFactor, int minNeighbors, int flags, Size minSize, Size maxSize) { Mat objects_mat = objects; detectMultiScale_0(nativeObj, image.nativeObj, objects_mat.nativeObj, scaleFactor, minNeighbors, flags, minSize.width, minSize.height, maxSize.width, maxSize.height); return; } /** * <p>Detects objects of different sizes in the input image. The detected objects * are returned as a list of rectangles.</p> * * <p>The function is parallelized with the TBB library.</p> * * <p>Note:</p> * <ul> * <li> (Python) A face detection example using cascade classifiers can be * found at opencv_source_code/samples/python2/facedetect.py * </ul> * * @param image Matrix of the type <code>CV_8U</code> containing an image where * objects are detected. * @param objects Vector of rectangles where each rectangle contains the * detected object. * * @see <a href="http://docs.opencv.org/modules/objdetect/doc/cascade_classification.html#cascadeclassifier-detectmultiscale">org.opencv.objdetect.CascadeClassifier.detectMultiScale</a> */ public void detectMultiScale(Mat image, MatOfRect objects) { Mat objects_mat = objects; detectMultiScale_1(nativeObj, image.nativeObj, objects_mat.nativeObj); return; } // // C++: void CascadeClassifier::detectMultiScale(Mat image, vector_Rect& objects, vector_int rejectLevels, vector_double levelWeights, double scaleFactor = 1.1, int minNeighbors = 3, int flags = 0, Size minSize = Size(), Size maxSize = Size(), bool outputRejectLevels = false) // /** * <p>Detects objects of different sizes in the input image. The detected objects * are returned as a list of rectangles.</p> * * <p>The function is parallelized with the TBB library.</p> * * <p>Note:</p> * <ul> * <li> (Python) A face detection example using cascade classifiers can be * found at opencv_source_code/samples/python2/facedetect.py * </ul> * * @param image Matrix of the type <code>CV_8U</code> containing an image where * objects are detected. * @param objects Vector of rectangles where each rectangle contains the * detected object. * @param rejectLevels a rejectLevels * @param levelWeights a levelWeights * @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 <code>cvHaarDetectObjects</code>. 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. * @param outputRejectLevels a outputRejectLevels * * @see <a href="http://docs.opencv.org/modules/objdetect/doc/cascade_classification.html#cascadeclassifier-detectmultiscale">org.opencv.objdetect.CascadeClassifier.detectMultiScale</a> */ public void detectMultiScale(Mat image, MatOfRect objects, MatOfInt rejectLevels, MatOfDouble levelWeights, double scaleFactor, int minNeighbors, int flags, Size minSize, Size maxSize, boolean outputRejectLevels) { Mat objects_mat = objects; Mat rejectLevels_mat = rejectLevels; Mat levelWeights_mat = levelWeights; detectMultiScale_2(nativeObj, image.nativeObj, objects_mat.nativeObj, rejectLevels_mat.nativeObj, levelWeights_mat.nativeObj, scaleFactor, minNeighbors, flags, minSize.width, minSize.height, maxSize.width, maxSize.height, outputRejectLevels); return; } /** * <p>Detects objects of different sizes in the input image. The detected objects * are returned as a list of rectangles.</p> * * <p>The function is parallelized with the TBB library.</p> * * <p>Note:</p> * <ul> * <li> (Python) A face detection example using cascade classifiers can be * found at opencv_source_code/samples/python2/facedetect.py * </ul> * * @param image Matrix of the type <code>CV_8U</code> containing an image where * objects are detected. * @param objects Vector of rectangles where each rectangle contains the * detected object. * @param rejectLevels a rejectLevels * @param levelWeights a levelWeights * * @see <a href="http://docs.opencv.org/modules/objdetect/doc/cascade_classification.html#cascadeclassifier-detectmultiscale">org.opencv.objdetect.CascadeClassifier.detectMultiScale</a> */ public void detectMultiScale(Mat image, MatOfRect objects, MatOfInt rejectLevels, MatOfDouble levelWeights) { Mat objects_mat = objects; Mat rejectLevels_mat = rejectLevels; Mat levelWeights_mat = levelWeights; detectMultiScale_3(nativeObj, image.nativeObj, objects_mat.nativeObj, rejectLevels_mat.nativeObj, levelWeights_mat.nativeObj); return; } // // C++: bool CascadeClassifier::empty() // /** * <p>Checks whether the classifier has been loaded.</p> * * @see <a href="http://docs.opencv.org/modules/objdetect/doc/cascade_classification.html#cascadeclassifier-empty">org.opencv.objdetect.CascadeClassifier.empty</a> */ public boolean empty() { boolean retVal = empty_0(nativeObj); return retVal; } // // C++: bool CascadeClassifier::load(string filename) // /** * <p>Loads a classifier from a file.</p> * * @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. * * @see <a href="http://docs.opencv.org/modules/objdetect/doc/cascade_classification.html#cascadeclassifier-load">org.opencv.objdetect.CascadeClassifier.load</a> */ public boolean load(String filename) { boolean retVal = load_0(nativeObj, filename); return retVal; } @Override protected void finalize() throws Throwable { delete(nativeObj); } // C++: CascadeClassifier::CascadeClassifier() private static native long CascadeClassifier_0(); // C++: CascadeClassifier::CascadeClassifier(string filename) private static native long CascadeClassifier_1(String filename); // C++: void CascadeClassifier::detectMultiScale(Mat image, vector_Rect& objects, double scaleFactor = 1.1, int minNeighbors = 3, int flags = 0, Size minSize = Size(), Size maxSize = Size()) private static native void detectMultiScale_0(long nativeObj, long image_nativeObj, long objects_mat_nativeObj, double scaleFactor, int minNeighbors, int flags, double minSize_width, double minSize_height, double maxSize_width, double maxSize_height); private static native void detectMultiScale_1(long nativeObj, long image_nativeObj, long objects_mat_nativeObj); // C++: void CascadeClassifier::detectMultiScale(Mat image, vector_Rect& objects, vector_int rejectLevels, vector_double levelWeights, double scaleFactor = 1.1, int minNeighbors = 3, int flags = 0, Size minSize = Size(), Size maxSize = Size(), bool outputRejectLevels = false) private static native void detectMultiScale_2(long nativeObj, long image_nativeObj, long objects_mat_nativeObj, long rejectLevels_mat_nativeObj, long levelWeights_mat_nativeObj, double scaleFactor, int minNeighbors, int flags, double minSize_width, double minSize_height, double maxSize_width, double maxSize_height, boolean outputRejectLevels); private static native void detectMultiScale_3(long nativeObj, long image_nativeObj, long objects_mat_nativeObj, long rejectLevels_mat_nativeObj, long levelWeights_mat_nativeObj); // C++: bool CascadeClassifier::empty() private static native boolean empty_0(long nativeObj); // C++: bool CascadeClassifier::load(string filename) private static native boolean load_0(long nativeObj, String filename); // native support for java finalize() private static native void delete(long nativeObj); }