//
// This file is auto-generated. Please don't modify it!
//
package org.opencv.ml;
import org.opencv.core.Mat;
import org.opencv.core.Range;
// C++: class CvBoost
/**
* <p>Boosted tree classifier derived from "CvStatModel".</p>
*
* @see <a href="http://docs.opencv.org/modules/ml/doc/boosting.html#cvboost">org.opencv.ml.CvBoost : public CvStatModel</a>
*/
public class CvBoost extends CvStatModel {
protected CvBoost(long addr) { super(addr); }
public static final int
DISCRETE = 0,
REAL = 1,
LOGIT = 2,
GENTLE = 3,
DEFAULT = 0,
GINI = 1,
MISCLASS = 3,
SQERR = 4;
//
// C++: CvBoost::CvBoost()
//
/**
* <p>Default and training constructors.</p>
*
* <p>The constructors follow conventions of "CvStatModel.CvStatModel". See
* "CvStatModel.train" for parameters descriptions.</p>
*
* @see <a href="http://docs.opencv.org/modules/ml/doc/boosting.html#cvboost-cvboost">org.opencv.ml.CvBoost.CvBoost</a>
*/
public CvBoost()
{
super( CvBoost_0() );
return;
}
//
// C++: CvBoost::CvBoost(Mat trainData, int tflag, Mat responses, Mat varIdx = cv::Mat(), Mat sampleIdx = cv::Mat(), Mat varType = cv::Mat(), Mat missingDataMask = cv::Mat(), CvBoostParams params = CvBoostParams())
//
/**
* <p>Default and training constructors.</p>
*
* <p>The constructors follow conventions of "CvStatModel.CvStatModel". See
* "CvStatModel.train" for parameters descriptions.</p>
*
* @param trainData a trainData
* @param tflag a tflag
* @param responses a responses
* @param varIdx a varIdx
* @param sampleIdx a sampleIdx
* @param varType a varType
* @param missingDataMask a missingDataMask
* @param params a params
*
* @see <a href="http://docs.opencv.org/modules/ml/doc/boosting.html#cvboost-cvboost">org.opencv.ml.CvBoost.CvBoost</a>
*/
public CvBoost(Mat trainData, int tflag, Mat responses, Mat varIdx, Mat sampleIdx, Mat varType, Mat missingDataMask, CvBoostParams params)
{
super( CvBoost_1(trainData.nativeObj, tflag, responses.nativeObj, varIdx.nativeObj, sampleIdx.nativeObj, varType.nativeObj, missingDataMask.nativeObj, params.nativeObj) );
return;
}
/**
* <p>Default and training constructors.</p>
*
* <p>The constructors follow conventions of "CvStatModel.CvStatModel". See
* "CvStatModel.train" for parameters descriptions.</p>
*
* @param trainData a trainData
* @param tflag a tflag
* @param responses a responses
*
* @see <a href="http://docs.opencv.org/modules/ml/doc/boosting.html#cvboost-cvboost">org.opencv.ml.CvBoost.CvBoost</a>
*/
public CvBoost(Mat trainData, int tflag, Mat responses)
{
super( CvBoost_2(trainData.nativeObj, tflag, responses.nativeObj) );
return;
}
//
// C++: void CvBoost::clear()
//
public void clear()
{
clear_0(nativeObj);
return;
}
//
// C++: float CvBoost::predict(Mat sample, Mat missing = cv::Mat(), Range slice = cv::Range::all(), bool rawMode = false, bool returnSum = false)
//
/**
* <p>Predicts a response for an input sample.</p>
*
* <p>The method runs the sample through the trees in the ensemble and returns the
* output class label based on the weighted voting.</p>
*
* @param sample Input sample.
* @param missing Optional mask of missing measurements. To handle missing
* measurements, the weak classifiers must include surrogate splits (see
* <code>CvDTreeParams.use_surrogates</code>).
* @param slice Continuous subset of the sequence of weak classifiers to be used
* for prediction. By default, all the weak classifiers are used.
* @param rawMode Normally, it should be set to <code>false</code>.
* @param returnSum If <code>true</code> then return sum of votes instead of the
* class label.
*
* @see <a href="http://docs.opencv.org/modules/ml/doc/boosting.html#cvboost-predict">org.opencv.ml.CvBoost.predict</a>
*/
public float predict(Mat sample, Mat missing, Range slice, boolean rawMode, boolean returnSum)
{
float retVal = predict_0(nativeObj, sample.nativeObj, missing.nativeObj, slice.start, slice.end, rawMode, returnSum);
return retVal;
}
/**
* <p>Predicts a response for an input sample.</p>
*
* <p>The method runs the sample through the trees in the ensemble and returns the
* output class label based on the weighted voting.</p>
*
* @param sample Input sample.
*
* @see <a href="http://docs.opencv.org/modules/ml/doc/boosting.html#cvboost-predict">org.opencv.ml.CvBoost.predict</a>
*/
public float predict(Mat sample)
{
float retVal = predict_1(nativeObj, sample.nativeObj);
return retVal;
}
//
// C++: void CvBoost::prune(CvSlice slice)
//
/**
* <p>Removes the specified weak classifiers.</p>
*
* <p>The method removes the specified weak classifiers from the sequence.</p>
*
* <p>Note: Do not confuse this method with the pruning of individual decision
* trees, which is currently not supported.</p>
*
* @param slice Continuous subset of the sequence of weak classifiers to be
* removed.
*
* @see <a href="http://docs.opencv.org/modules/ml/doc/boosting.html#cvboost-prune">org.opencv.ml.CvBoost.prune</a>
*/
public void prune(Range slice)
{
prune_0(nativeObj, slice.start, slice.end);
return;
}
//
// C++: bool CvBoost::train(Mat trainData, int tflag, Mat responses, Mat varIdx = cv::Mat(), Mat sampleIdx = cv::Mat(), Mat varType = cv::Mat(), Mat missingDataMask = cv::Mat(), CvBoostParams params = CvBoostParams(), bool update = false)
//
/**
* <p>Trains a boosted tree classifier.</p>
*
* <p>The train method follows the common template of "CvStatModel.train". The
* responses must be categorical, which means that boosted trees cannot be built
* for regression, and there should be two classes.</p>
*
* @param trainData a trainData
* @param tflag a tflag
* @param responses a responses
* @param varIdx a varIdx
* @param sampleIdx a sampleIdx
* @param varType a varType
* @param missingDataMask a missingDataMask
* @param params a params
* @param update Specifies whether the classifier needs to be updated
* (<code>true</code>, the new weak tree classifiers added to the existing
* ensemble) or the classifier needs to be rebuilt from scratch
* (<code>false</code>).
*
* @see <a href="http://docs.opencv.org/modules/ml/doc/boosting.html#cvboost-train">org.opencv.ml.CvBoost.train</a>
*/
public boolean train(Mat trainData, int tflag, Mat responses, Mat varIdx, Mat sampleIdx, Mat varType, Mat missingDataMask, CvBoostParams params, boolean update)
{
boolean retVal = train_0(nativeObj, trainData.nativeObj, tflag, responses.nativeObj, varIdx.nativeObj, sampleIdx.nativeObj, varType.nativeObj, missingDataMask.nativeObj, params.nativeObj, update);
return retVal;
}
/**
* <p>Trains a boosted tree classifier.</p>
*
* <p>The train method follows the common template of "CvStatModel.train". The
* responses must be categorical, which means that boosted trees cannot be built
* for regression, and there should be two classes.</p>
*
* @param trainData a trainData
* @param tflag a tflag
* @param responses a responses
*
* @see <a href="http://docs.opencv.org/modules/ml/doc/boosting.html#cvboost-train">org.opencv.ml.CvBoost.train</a>
*/
public boolean train(Mat trainData, int tflag, Mat responses)
{
boolean retVal = train_1(nativeObj, trainData.nativeObj, tflag, responses.nativeObj);
return retVal;
}
@Override
protected void finalize() throws Throwable {
delete(nativeObj);
}
// C++: CvBoost::CvBoost()
private static native long CvBoost_0();
// C++: CvBoost::CvBoost(Mat trainData, int tflag, Mat responses, Mat varIdx = cv::Mat(), Mat sampleIdx = cv::Mat(), Mat varType = cv::Mat(), Mat missingDataMask = cv::Mat(), CvBoostParams params = CvBoostParams())
private static native long CvBoost_1(long trainData_nativeObj, int tflag, long responses_nativeObj, long varIdx_nativeObj, long sampleIdx_nativeObj, long varType_nativeObj, long missingDataMask_nativeObj, long params_nativeObj);
private static native long CvBoost_2(long trainData_nativeObj, int tflag, long responses_nativeObj);
// C++: void CvBoost::clear()
private static native void clear_0(long nativeObj);
// C++: float CvBoost::predict(Mat sample, Mat missing = cv::Mat(), Range slice = cv::Range::all(), bool rawMode = false, bool returnSum = false)
private static native float predict_0(long nativeObj, long sample_nativeObj, long missing_nativeObj, int slice_start, int slice_end, boolean rawMode, boolean returnSum);
private static native float predict_1(long nativeObj, long sample_nativeObj);
// C++: void CvBoost::prune(CvSlice slice)
private static native void prune_0(long nativeObj, int slice_start, int slice_end);
// C++: bool CvBoost::train(Mat trainData, int tflag, Mat responses, Mat varIdx = cv::Mat(), Mat sampleIdx = cv::Mat(), Mat varType = cv::Mat(), Mat missingDataMask = cv::Mat(), CvBoostParams params = CvBoostParams(), bool update = false)
private static native boolean train_0(long nativeObj, long trainData_nativeObj, int tflag, long responses_nativeObj, long varIdx_nativeObj, long sampleIdx_nativeObj, long varType_nativeObj, long missingDataMask_nativeObj, long params_nativeObj, boolean update);
private static native boolean train_1(long nativeObj, long trainData_nativeObj, int tflag, long responses_nativeObj);
// native support for java finalize()
private static native void delete(long nativeObj);
}