ailia_tracker  1.0.0.0
ailia_tracker.h
Go to the documentation of this file.
1 
9 #ifndef INCLUDED_AILIA_TRACKER
10 #define INCLUDED_AILIA_TRACKER
11 
12 /* エラーコードと構造体 */
13 
14 #include "ailia.h"
15 #include "ailia_detector.h"
16 
17 /* 呼び出し規約 */
18 
19 #if defined(_WIN64) || defined(_M_X64) || defined(__amd64__) || defined(__x86_64__) || defined(__APPLE__) || \
20  defined(__ANDROID__) || defined(ANDROID) || defined(__linux__) || defined(NN_NINTENDO_SDK)
21 #define AILIA_API
22 #else
23 #define AILIA_API __stdcall
24 #endif
25 
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29 
30 /****************************************************************
31  * アルゴリズム定義
32  **/
33 
43 #define AILIA_TRACKER_ALGORITHM_BYTE_TRACK (0)
44 
45 /****************************************************************
46  * 物体情報
47  **/
48 #define AILIA_TRACKER_OBJECT_VERSION (1)
49 
50 typedef struct _AILIATrackerObject {
58  unsigned int id;
66  unsigned int category;
74  float prob;
82  float x;
90  float y;
98  float w;
106  float h;
108 
109 /****************************************************************
110  * 設定情報
111  **/
112 #define AILIA_TRACKER_SETTINGS_VERSION (1)
113 
114 typedef struct _AILIATrackerSettings {
156 
157 /****************************************************************
158  * ネットワークオブジェクトのインスタンス
159  **/
160 
161 struct AILIATracker;
162 
163 /****************************************************************
164  * Tracking API
165  **/
166 
190 int AILIA_API ailiaTrackerCreate(struct AILIATracker** tracker, int algorithm, AILIATrackerSettings settings, int version);
191 
207 int AILIA_API
208 ailiaTrackerAddTarget(struct AILIATracker* tracker, AILIADetectorObject target_object);
209 
227 int AILIA_API
228 ailiaTrackerCompute(struct AILIATracker* tracker);
229 
245 int AILIA_API ailiaTrackerGetObjectCount(struct AILIATracker* tracker, unsigned int* obj_count);
246 
272 int AILIA_API ailiaTrackerGetObject(struct AILIATracker* tracker,
273  AILIATrackerObject* obj,
274  unsigned int index,
275  unsigned int version);
276 
290 int AILIA_API ailiaTrackerDestroy(struct AILIATracker *tracker);
291 
311 const char* AILIA_API ailiaTrackerGetErrorDetail(struct AILIATracker* tracker);
312 
313 #ifdef __cplusplus
314 }
315 #endif
316 #endif /* !defined(INCLUDED_AILIA_TRACKER) */
struct _AILIATrackerObject AILIATrackerObject
#define AILIA_API
Definition: ailia_tracker.h:23
struct _AILIATrackerSettings AILIATrackerSettings
int AILIA_API ailiaTrackerGetObjectCount(struct AILIATracker *tracker, unsigned int *obj_count)
Gets the number of detection results.
int AILIA_API ailiaTrackerDestroy(struct AILIATracker *tracker)
It destroys the AILIATracker instance.
const char *AILIA_API ailiaTrackerGetErrorDetail(struct AILIATracker *tracker)
Returns the details of errors.
int AILIA_API ailiaTrackerAddTarget(struct AILIATracker *tracker, AILIADetectorObject target_object)
Set tracking target.
int AILIA_API ailiaTrackerCreate(struct AILIATracker **tracker, int algorithm, AILIATrackerSettings settings, int version)
Creates a AILIATracker instance.
int AILIA_API ailiaTrackerCompute(struct AILIATracker *tracker)
Perform tracking.
int AILIA_API ailiaTrackerGetObject(struct AILIATracker *tracker, AILIATrackerObject *obj, unsigned int index, unsigned int version)
Gets the detection results.
Definition: ailia_tracker.h:50
float x
Definition: ailia_tracker.h:82
float h
Definition: ailia_tracker.h:106
unsigned int category
Definition: ailia_tracker.h:66
float w
Definition: ailia_tracker.h:98
float prob
Definition: ailia_tracker.h:74
float y
Definition: ailia_tracker.h:90
unsigned int id
Definition: ailia_tracker.h:58
Definition: ailia_tracker.h:114
float nms_threshold
Definition: ailia_tracker.h:130
float score_threshold
Definition: ailia_tracker.h:122
float match_threshold
Definition: ailia_tracker.h:154
int track_buffer
Definition: ailia_tracker.h:146
float track_threshold
Definition: ailia_tracker.h:138