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}