ailia_tracker  1.1.0.0
クラス | マクロ定義 | 型定義 | 関数
ailia_tracker.h ファイル

ailia Tracking 物体追跡 ライブラリ [詳解]

#include "ailia.h"
#include "ailia_detector.h"
ailia_tracker.h の依存先関係図:

[ソースコード]

クラス

struct  _AILIATrackerObject
 
struct  _AILIATrackerSettings
 

マクロ定義

#define AILIA_API   __stdcall
 
#define AILIA_TRACKER_ALGORITHM_BYTE_TRACK   (0)
 ByteTrack [詳解]
 
#define AILIA_TRACKER_OBJECT_VERSION   (1)
 
#define AILIA_TRACKER_SETTINGS_VERSION   (1)
 
#define AILIA_TRACKER_FLAG_NONE   (0)
 フラグを設定しません [詳解]
 
#define AILIA_TRACKER_FLAG_ALLOW_WIDE_ASPECT_RATIO   (1)
 通常、人物トラッキングでは縦横比(幅/高さ)が 1.6 以上の物体は無視されます。このフラグを有効にすると、その制限を解除します。車など横長の物体をトラッキングする場合に有効です。 [詳解]
 

型定義

typedef struct _AILIATrackerObject AILIATrackerObject
 
typedef struct _AILIATrackerSettings AILIATrackerSettings
 

関数

int AILIA_API ailiaTrackerCreate (struct AILIATracker **tracker, int algorithm, const AILIATrackerSettings *settings, int version, int flags)
 トラッカーオブジェクトを作成します。 [詳解]
 
int AILIA_API ailiaTrackerAddTarget (struct AILIATracker *tracker, const AILIADetectorObject *detector_object, int version)
 トラッキングの対象を登録します。 [詳解]
 
int AILIA_API ailiaTrackerCompute (struct AILIATracker *tracker)
 トラッキングを行います。 [詳解]
 
int AILIA_API ailiaTrackerGetObjectCount (struct AILIATracker *tracker, unsigned int *obj_count)
 検出結果の数を取得します。 [詳解]
 
int AILIA_API ailiaTrackerGetObject (struct AILIATracker *tracker, AILIATrackerObject *obj, unsigned int index, unsigned int version)
 検出結果を取得します。 [詳解]
 
int AILIA_API ailiaTrackerDestroy (struct AILIATracker *tracker)
 トラッカーオブジェクトを破棄します。 [詳解]
 
const char *AILIA_API ailiaTrackerGetErrorDetail (struct AILIATracker *tracker)
 エラーの詳細を返します [詳解]
 

詳解

ailia Tracking 物体追跡 ライブラリ

日付
2026/01/05

マクロ定義詳解

◆ AILIA_API

#define AILIA_API   __stdcall

◆ AILIA_TRACKER_ALGORITHM_BYTE_TRACK

#define AILIA_TRACKER_ALGORITHM_BYTE_TRACK   (0)

ByteTrack

◆ AILIA_TRACKER_FLAG_ALLOW_WIDE_ASPECT_RATIO

#define AILIA_TRACKER_FLAG_ALLOW_WIDE_ASPECT_RATIO   (1)

通常、人物トラッキングでは縦横比(幅/高さ)が 1.6 以上の物体は無視されます。このフラグを有効にすると、その制限を解除します。車など横長の物体をトラッキングする場合に有効です。

◆ AILIA_TRACKER_FLAG_NONE

#define AILIA_TRACKER_FLAG_NONE   (0)

フラグを設定しません

◆ AILIA_TRACKER_OBJECT_VERSION

#define AILIA_TRACKER_OBJECT_VERSION   (1)

◆ AILIA_TRACKER_SETTINGS_VERSION

#define AILIA_TRACKER_SETTINGS_VERSION   (1)

型定義詳解

◆ AILIATrackerObject

◆ AILIATrackerSettings

関数詳解

◆ ailiaTrackerAddTarget()

int AILIA_API ailiaTrackerAddTarget ( struct AILIATracker *  tracker,
const AILIADetectorObject *  detector_object,
int  version 
)

トラッキングの対象を登録します。

引数
trackerトラッカーオブジェクトポインタ
detector_objectトラッキング対象の物体へのポインター
versionAILIA_DETECTOR_OBJECT_VERSION
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

◆ ailiaTrackerCompute()

int AILIA_API ailiaTrackerCompute ( struct AILIATracker *  tracker)

トラッキングを行います。

引数
trackerトラッカーオブジェクトポインタ
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

認識した結果はailiaTrackerGetObject APIで取得します。

◆ ailiaTrackerCreate()

int AILIA_API ailiaTrackerCreate ( struct AILIATracker **  tracker,
int  algorithm,
const AILIATrackerSettings settings,
int  version,
int  flags 
)

トラッカーオブジェクトを作成します。

引数
trackerAILIATracker構造体のポインタへのポインタ
algorithmAILIA_TRACKER_ALGORITHM_*
settingsAILIATrackerSettingsへのポインタ
versionAILIA_TRACKER_SETTINGS_VERSION
flagsAILIA_TRACKER_FLAG_*の論理和
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

AILIATrackerオブジェクトを作成します。

◆ ailiaTrackerDestroy()

int AILIA_API ailiaTrackerDestroy ( struct AILIATracker *  tracker)

トラッカーオブジェクトを破棄します。

引数
trackerトラッカーオブジェクトポインタ
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

◆ ailiaTrackerGetErrorDetail()

const char* AILIA_API ailiaTrackerGetErrorDetail ( struct AILIATracker *  tracker)

エラーの詳細を返します

引数
trackerトラッカーオブジェクトポインタ
戻り値
エラー詳細

返値は解放する必要はありません。 文字列の有効期間は次にailiaTrackerのAPIを呼ぶまでです。

◆ ailiaTrackerGetObject()

int AILIA_API ailiaTrackerGetObject ( struct AILIATracker *  tracker,
AILIATrackerObject obj,
unsigned int  index,
unsigned int  version 
)

検出結果を取得します。

引数
trackerトラッカーオブジェクトポインタ
objオブジェクト情報
index取得するオブジェクトのインデックス
versionAILIA_TRACKER_OBJECT_VERSION
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

ailiaTrackerCompute() を一度も実行していない場合は AILIA_STATUS_INVALID_STATE が返ります。 検出結果は推定確率順でソートされます。

◆ ailiaTrackerGetObjectCount()

int AILIA_API ailiaTrackerGetObjectCount ( struct AILIATracker *  tracker,
unsigned int *  obj_count 
)

検出結果の数を取得します。

引数
trackerトラッカーオブジェクトポインタ
obj_countオブジェクト数
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。