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.TrackerNano;
008import org.opencv.video.TrackerNano_Params;
009
010// C++: class TrackerNano
011/**
012 * the Nano tracker is a super lightweight dnn-based general object tracking.
013 *
014 * Nano tracker is much faster and extremely lightweight due to special model structure, the whole model size is about 1.9 MB.
015 * Nano tracker needs two models: one for feature extraction (backbone) and the another for localization (neckhead).
016 * Model download link: https://github.com/HonglinChu/SiamTrackers/tree/master/NanoTrack/models/nanotrackv2
017 * Original repo is here: https://github.com/HonglinChu/NanoTrack
018 * Author: HongLinChu, 1628464345@qq.com
019 */
020public class TrackerNano extends Tracker {
021
022    protected TrackerNano(long addr) { super(addr); }
023
024    // internal usage only
025    public static TrackerNano __fromPtr__(long addr) { return new TrackerNano(addr); }
026
027    //
028    // C++: static Ptr_TrackerNano cv::TrackerNano::create(TrackerNano_Params parameters = TrackerNano::Params())
029    //
030
031    /**
032     * Constructor
033     *     @param parameters NanoTrack parameters TrackerNano::Params
034     * @return automatically generated
035     */
036    public static TrackerNano create(TrackerNano_Params parameters) {
037        return TrackerNano.__fromPtr__(create_0(parameters.nativeObj));
038    }
039
040    /**
041     * Constructor
042     * @return automatically generated
043     */
044    public static TrackerNano create() {
045        return TrackerNano.__fromPtr__(create_1());
046    }
047
048
049    //
050    // C++:  float cv::TrackerNano::getTrackingScore()
051    //
052
053    /**
054     * Return tracking score
055     * @return automatically generated
056     */
057    public float getTrackingScore() {
058        return getTrackingScore_0(nativeObj);
059    }
060
061
062    @Override
063    protected void finalize() throws Throwable {
064        delete(nativeObj);
065    }
066
067
068
069    // C++: static Ptr_TrackerNano cv::TrackerNano::create(TrackerNano_Params parameters = TrackerNano::Params())
070    private static native long create_0(long parameters_nativeObj);
071    private static native long create_1();
072
073    // C++:  float cv::TrackerNano::getTrackingScore()
074    private static native float getTrackingScore_0(long nativeObj);
075
076    // native support for java finalize()
077    private static native void delete(long nativeObj);
078
079}