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.TrackerGOTURN; 008import org.opencv.video.TrackerGOTURN_Params; 009 010// C++: class TrackerGOTURN 011/** 012 * the GOTURN (Generic Object Tracking Using Regression Networks) tracker 013 * 014 * GOTURN (CITE: GOTURN) is kind of trackers based on Convolutional Neural Networks (CNN). While taking all advantages of CNN trackers, 015 * GOTURN is much faster due to offline training without online fine-tuning nature. 016 * GOTURN tracker addresses the problem of single target tracking: given a bounding box label of an object in the first frame of the video, 017 * we track that object through the rest of the video. NOTE: Current method of GOTURN does not handle occlusions; however, it is fairly 018 * robust to viewpoint changes, lighting changes, and deformations. 019 * Inputs of GOTURN are two RGB patches representing Target and Search patches resized to 227x227. 020 * Outputs of GOTURN are predicted bounding box coordinates, relative to Search patch coordinate system, in format X1,Y1,X2,Y2. 021 * Original paper is here: <http://davheld.github.io/GOTURN/GOTURN.pdf> 022 * As long as original authors implementation: <https://github.com/davheld/GOTURN#train-the-tracker> 023 * Implementation of training algorithm is placed in separately here due to 3d-party dependencies: 024 * <https://github.com/Auron-X/GOTURN_Training_Toolkit> 025 * GOTURN architecture goturn.prototxt and trained model goturn.caffemodel are accessible on opencv_extra GitHub repository. 026 */ 027public class TrackerGOTURN extends Tracker { 028 029 protected TrackerGOTURN(long addr) { super(addr); } 030 031 // internal usage only 032 public static TrackerGOTURN __fromPtr__(long addr) { return new TrackerGOTURN(addr); } 033 034 // 035 // C++: static Ptr_TrackerGOTURN cv::TrackerGOTURN::create(TrackerGOTURN_Params parameters = TrackerGOTURN::Params()) 036 // 037 038 /** 039 * Constructor 040 * @param parameters GOTURN parameters TrackerGOTURN::Params 041 * @return automatically generated 042 */ 043 public static TrackerGOTURN create(TrackerGOTURN_Params parameters) { 044 return TrackerGOTURN.__fromPtr__(create_0(parameters.nativeObj)); 045 } 046 047 /** 048 * Constructor 049 * @return automatically generated 050 */ 051 public static TrackerGOTURN create() { 052 return TrackerGOTURN.__fromPtr__(create_1()); 053 } 054 055 056 @Override 057 protected void finalize() throws Throwable { 058 delete(nativeObj); 059 } 060 061 062 063 // C++: static Ptr_TrackerGOTURN cv::TrackerGOTURN::create(TrackerGOTURN_Params parameters = TrackerGOTURN::Params()) 064 private static native long create_0(long parameters_nativeObj); 065 private static native long create_1(); 066 067 // native support for java finalize() 068 private static native void delete(long nativeObj); 069 070}