//
// 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);
}