001//
002// This file is auto-generated. Please don't modify it!
003//
004package org.opencv.video;
005
006import org.opencv.video.Tracker;
007import org.opencv.video.TrackerMIL;
008import org.opencv.video.TrackerMIL_Params;
009
010// C++: class TrackerMIL
011/**
012 * The MIL algorithm trains a classifier in an online manner to separate the object from the
013 * background.
014 *
015 * Multiple Instance Learning avoids the drift problem for a robust tracking. The implementation is
016 * based on CITE: MIL .
017 *
018 * Original code can be found here <http://vision.ucsd.edu/~bbabenko/project_miltrack.shtml>
019 */
020public class TrackerMIL extends Tracker {
021
022    protected TrackerMIL(long addr) { super(addr); }
023
024    // internal usage only
025    public static TrackerMIL __fromPtr__(long addr) { return new TrackerMIL(addr); }
026
027    //
028    // C++: static Ptr_TrackerMIL cv::TrackerMIL::create(TrackerMIL_Params parameters = TrackerMIL::Params())
029    //
030
031    /**
032     * Create MIL tracker instance
033     * @param parameters MIL parameters TrackerMIL::Params
034     * @return automatically generated
035     */
036    public static TrackerMIL create(TrackerMIL_Params parameters) {
037        return TrackerMIL.__fromPtr__(create_0(parameters.nativeObj));
038    }
039
040    /**
041     * Create MIL tracker instance
042     * @return automatically generated
043     */
044    public static TrackerMIL create() {
045        return TrackerMIL.__fromPtr__(create_1());
046    }
047
048
049    @Override
050    protected void finalize() throws Throwable {
051        delete(nativeObj);
052    }
053
054
055
056    // C++: static Ptr_TrackerMIL cv::TrackerMIL::create(TrackerMIL_Params parameters = TrackerMIL::Params())
057    private static native long create_0(long parameters_nativeObj);
058    private static native long create_1();
059
060    // native support for java finalize()
061    private static native void delete(long nativeObj);
062
063}