6.3 ARM Linux SDK

LOG

SetLogConfig()

1) 説明 : ログパラメータの設定

2) 関数 : int SetLogConfig(int nLogLever = 1, int nLogTarget = 2);

3) パラメータ :

名称

nLogLever

int

nLogTatget

int

説明

0 :LOG_LEVER_TRACE

TRACE DEBUG INFO WARN ERROR FATALレベルのログ出力

1 :LOG_LEVER_DEBUG

DEBUG INFO WARN ERROR FATALレベルのログ出力

2: LOG_LEVER_INFO

INFO WARN ERROR FATALレベルのログ出力

3 : LOG_LEVER_WARN

WARN ERROR FATALレベルのログ出力

4 :LOG_LEVER_ERROR

ERROR FATALレベルのログ出力

5 : LOG_LEVER_FATAL

FATAL levelレベルのログ出力

6 : LOG_LEVER_NONE

ログ出力しないレベルのログ出力

名称説明

0 : LOG_TARGET_CONSOLE

コンソールへのログ出力

1 : LOG_TARGET_FILE

ファイルへのログ出力

2 : LOG_TARGET_ALL

コンソール及びファイルへのログ出力

4) 戻り値 :

名称状態

成功

0x00

失敗

0x01

GetLogConfig()

1) 説明 : ログパラメータの取得

2) 関数 : int GetLogConfig(int* pLogLever, int* pLogTarget);

3) パラメータ :

名称

pLogLever

Int*

pLogTarget

Int*

説明

0 :LOG_LEVER_TRACE

TRACE DEBUG INFO WARN ERROR FATALレベルのログ出力

1 :LOG_LEVER_DEBUG

DEBUG INFO WARN ERROR FATALレベルのログ出力

2: LOG_LEVER_INFO

INFO WARN ERROR FATALレベルのログ出力

3 : LOG_LEVER_WARN

WARN ERROR FATALレベルのログ出力

4 :LOG_LEVER_ERROR

ERROR FATALレベルのログ出力

5 : LOG_LEVER_FATAL

FATAL levelレベルのログ出力

6 : LOG_LEVER_NONE

ログ出力しないレベルのログ出力

名称説明

0 : LOG_TARGET_CONSOLE

コンソールへのログ出力

1 : LOG_TARGET_FILE

ファイルへのログ出力

2 : LOG_TARGET_ALL

コンソール及びファイルへのログ出力

4) 戻り値 :

名称状態

成功

0x00

失敗

0x01

Device initialization

Init()

1) 説明 : デバイスの初期化。ログ出力機能が有効の場合、本関数を呼ぶとSDKのバージョンもログに出力される

2) 関数 : void* Init();

3) パラメータ : null

4) 戻り値 : null

DeInit()

1) 説明 : Init()の削除

2) 関数 : int DeInit(void* dev);

3) パラメータ : handle*

4) 戻り値 : null

EnumDevice()

1) 説明 : 現在システムに接続されているデバイスのリストを照会します。カメラのフレンドリ名はvideoDevBufに保存され、serialBufの主な保存形式は "|"で区切られます。たとえば、serialBufは "COM0 |COM1| COM4"で、Linuxの"ttyACM0| ttyACM1"に相当します。

2) 関数 : int EnumDevice(char *videoDevBuf, int videoDevSize, char *serialBuf, int serialSize);

3) パラメータ :

名称備考

videoDevBuf

char*

"|"で分離されます。文字列はUVC Cameraなどが該当します。

videoDevSize

int

serialBuf

uchar*

serialSize

int

"|"で分離されます。例えばCOM1|COM3のようになります。

4) 戻り値 :

名称状態

成功

0x00

失敗

-1

ConnectSerial()

1) 説明 : シリアルに接続

2) 関数 : int ConnectSerial(void* dev, const char* portName);

3) パラメータ :

名称備考

dev

handle*

portName

const char*

Windowsでは "comX", Linuxでは"ttyACM*"

4) 戻り値 :

名称状態

成功

0x00

失敗

-1

ConnectCamera()

1) 説明 : カメラに接続

2) 関数 : int ConnectCamera(void* dev, const char* mediaName);

3) パラメータ :

名称備考

dev

handle*

mediaName

const char*

Windowsでは "uvcCamera"

4) 戻り値 :

名称状態

成功

0x00

失敗

-1

DisconnectSerial()

1) 説明 : シリアル

2) 関数 : int DisconnectSerial(void* dev);

3) パラメータ :

名称備考

dev

handle*

4) 戻り値 :

名称状態

成功

0x00

失敗

-1

DisconnectCamera()

1) 説明 : カメラを閉じる

2) 関数 : int DisconnectCamera(void* dev);

3) パラメータ :

名称備考

dev

handle*

4) 戻り値 :

名称状態

成功

0x00

失敗

-1

Media

GetFrame()

1) 説明 : 画像のフレームと検証情報を取得します。画像の保存形式はビットマップで、順序はBBGGRRAAです。このAPIを呼ぶ場合は、最新の画像を取得するためにこのインターフェイスをポーリングする必要があります。 それらの1つのバッファサイズをゼロに設定して、他の1つだけを取得できます。

例:imageBufとimageSizeを0とし、verifyBufを通常どおり渡すと、画像の代わりに顔認識情報のみを取得できます。

2) 関数 : int GetFrame(void* dev, char* imageBuf, int imageSize, char* verifyBuf, int verifySize);

3) パラメータ :

名称備考

imageBuf

char*

imageSize

int

verifyBuf

char*

verifySize

int

4) 戻り値 :

名称状態

成功

0x00

バッファが小さすぎるか、画像サイズと一致しません

0x01

検証情報バッファが小さすぎます

0x02

失敗

-1

verifyBufは、デバイスから送信された検証情報を格納します。形式はjsonです。

各フィールドは以下を参照:

名称備考

face_info

array

認識されたすべての顔データが含まれています

rect

object

顔の長方形の座標

bottom

int

right

int

left

int

top

int

recognition_status

int

認識結果の状態値

0:まだ認識されていない

1:非生体

2:Kuzhongren

3:未登録者

4:認識されたことを示す

recognition_id

string

recognize_score

float

このアイテムは最初の成功で利用可能になります(recognition_statusが2の場合、recognition_statusが4の場合はありません)

liveness_score

float

Recognition_scoreと同様

GetResolution()

1) 説明 : フレームの幅/高さを取得します。必要なバッファのサイズは次のとおりです。widthheight4

2) 関数 : int GetResolution(void* dev, int* width, int* height);

3) パラメータ :

名称備考

dev

handle*

width

int*

height

int*

4) 戻り値 :

名称状態

成功

0x00

失敗

-1

SetUvcSwitch()

1) 説明 : UVCの切り替え

2) 関数 : int SetUvcSwitch(void* dev, char nMode);

3) パラメータ :

名称備考

dev

handle*

nMode

int

0x00:プッシュを開く

0x01:プッシュをオフにする

4) 戻り値 :

名称状態

成功

0x00

失敗

0x01

SetCameraStream()

1) 説明 : カメラの切り替え

2) 関数 : int SetCameraStream(void* dev, char isCloseCamera, char nCameraType);

3) パラメータ :

名称備考

dev

handle*

isCloseCamera

int*char

0x00:カメラの電源を入れます

0x01:カメラの電源を切ります

nCameraType

char

0x00:RGBカメラ

0x01:IRカメラ

4) 戻り値 :

名称状態

成功

0x00

失敗

0x01

GetCameraStream()

1) 説明 : カメラの切り替え状態を取得

2) 関数 : int GetCameraStream(void* dev, char nCameraType, uchar* isOpenCamera);

3) パラメータ :

名称備考

dev

handle*

nCameraType

char

0x00:RGBカメラ

0x01:IRカメラ

isOpenCamera

uchar*

0x00:開いていません

0x01:すでに開いています

4) 戻り値 :

名称状態

成功

0x00

失敗

0x01

SwitchCamRgbIr()

1) 説明 : RGBとIRカメラの切り替え

2) 関数 : int SwitchCamRgbIr(void* dev, char nMode);

3) パラメータ :

名称備考

dev

handle*

nMode

char

0x00:RGBの切り替え

0x01:IRの切り替え

4) 戻り値 :

名称状態

成功

0x00

失敗

0x01

SetStreamFormat()

1) 説明 : ストリームフォーマットの設定

2) 関数 : int SetStreamFormat(void* dev, char nMode);

3) パラメータ :

名称備考

dev

handle*

nMode

char

0x00:MJPEG

0x01:H.264

4) 戻り値 :

名称状態

成功

0x00

失敗

0x01

未知のエラー

-1

GetDeviceNoFlickerHz()

1) 説明 : アンチフリッカー状態の取得

2) 関数 : int GetDeviceNoFlickerHz(void* dev, char nCameraId, uchar* pHz, uchar* isEnable);

3) パラメータ :

名称備考

dev

handle*

nCameraId

char

0x00:IDが0のカメラ

0x01:IDが1のカメラ

pHz

char

0x00:50HZ

0x01:60HZ

isEnable

char

0x00:無効

0x01:有効

4) 戻り値 :

名称状態

成功

0x00

失敗

0x01

未知のエラー

-1

ret_buf_sizaが小さすぎます

-2

SetDeviceNoFlickerHz()

1) 説明 : アンチフリッカー状態の設定

ai_configのae_modeフィールドの値が0の場合、ここでの設定が有効になります。ae_modeフィールドが1の場合、ai_config(setReoconfig関数)内でae_flicker_freqを構成する必要があります。

2) 関数 : int SetDeviceNoFlickerHz(void* dev, char nCameraId, char nHz, char isEnable);

3) パラメータ :

名称備考

dev

handle*

nCameraId

char

0x00:IDが0のカメラ

0x01:IDが1のカメラ

nHz

char

0x00:50HZ

0x01:60HZ

isEnable

char

0x00:無効

0x01:有効

4) 戻り値 :

名称状態

成功

0x00

失敗

0x01

未知のエラー

-1

SetResolution()

1) 説明 : 画面サイズを設定し、360Pを切り替えた直後にUSB電源を抜き差ししないように注意し、モジュールが設定を同期するまで5秒間待ちます。

2) 関数 : int SetResolution(void* dev, char nMode);

3) パラメータ :

名称備考

dev

handle*

nMode

char

0x01:360P

0x00:720P

4) 戻り値 :

名称状態

成功

0x00

失敗

0x01

未知のエラー

-1

GetFrameRate()

1) 説明 : フレームレートの取得

2) 関数 : int GetFrameRate(void* dev, uint* pFrameRate);

3) パラメータ :

名称備考

dev

handle*

pFrameRate

uint*

データ長:4バイト

4) 戻り値 :

名称状態

成功

0x00

失敗

0x01

未知のエラー

-1

SetFrameRate()

1) 説明 : フレームレートの設定

2) 関数 : int SetFrameRate(void* dev, int nFrameRate);

3) パラメータ :

名称備考

dev

handle*

pFrameRnFrameRateate

int

フレームレートを10〜25で設定

4) 戻り値 :

名称状態

成功

0x00

失敗

0x01

未知のエラー

-1

フレームレートエラー

-2

GetIRlight()

1) 説明 : IRライトの明るさを取得します

2) 関数 : int GetIRlight(void* dev, uchar* pLuminance,uchar* pCloseTime);

3) パラメータ :

名称備考

dev

handle*

pLuminance

uchar*

pCloseTime

uchar*

4) 戻り値 :

名称状態

成功

0x00

照会失敗

0x01

未知のエラー

-1

ret_buf_sizaが小さすぎます

-2

SetIRlight()

1) 説明 : IRライトの明るさを設定します。

2) 関数 : int SetIRlight(void* dev, uchar nLuminance, uchar nCloseTime);

3) パラメータ :

名称備考

dev

handle*

nLuminance

uchar

IRライトの明るさ

0〜200

nCloseTime

uchar

IRライトは自動的にオフになります。

時間の単位は秒、範囲は0x78で、0となった場合、検出動作は実行されません。

4) 戻り値 :

名称状態

成功

0x00

失敗

0x01

未知のエラー

-1

輝度失敗

-2

AI

AddFace()

1) 説明 : キャプチャとその結果をストレージへ保存

2) 関数 : int AddFace(void* dev, const void* pID, uint nIDLength);

3) パラメータ :

名称備考

dev

handle*

pID

const void*

nIDLength

uint

4) 戻り値 :

名称状態

成功

0x00

追加に失敗しました

顔が見つかりません

0x01

追加に失敗しました

顔が複数あります

0x02

追加に失敗しました

顔が小さすぎます

0x03

追加に失敗しました

Alingスコアが低い

0x04

追加に失敗しました

プロファイルを確認してください

0x05

追加に失敗しました

顔がぼやけています

0x06

追加に失敗しました

顔が遠すぎます

0x07

追加に失敗しました

IDの初期化に失敗しました

0x08

追加に失敗しました

関数入力エラー

0x09

追加に失敗しました

機能値が存在しません

0x0A

追加に失敗しました

暗号化チップエラー

0x0B

追加に失敗しました

このIDは存在しません

0x0C

追加に失敗しました

ライブラリが上限に達しました

0x0F

追加に失敗しました

無効なID

0x10

追加に失敗しました

ファイルの保存に失敗しました

0x11

追加に失敗しました

ファイルタイプがjpg形式ではありません

0x12

追加に失敗しました

RPC呼び出しに失敗しました

0x13

追加に失敗しました

不明なタグ

0x14

追加に失敗しました

AIサービスは初期化を完了しませんでした

0xA0

AddFaceByImage()

1) 説明 : ホストコンピュータからのベースマップをライブラリに転送

ベースマップの高さと幅は1080p未満である必要があります。

2) 関数 : int AddFaceByImage(void* dev, const void* pID, uint nIDLength, const void* pImage, uint nImageLength);

3) パラメータ :

名称備考

dev

handle*

pID

const void*

データ長:4バイト

nIDLength

uint

pImage

const void*

取得画像データ

nImageLength

uint

pImageのデータ長

4) 戻り値 :

名称状態

成功

0x00

追加に失敗しました

顔が見つかりません

0x01

追加に失敗しました

顔が複数あります

0x02

追加に失敗しました

顔が小さすぎます

0x03

追加に失敗しました

Alingスコアが低い

0x04

追加に失敗しました

プロファイルを確認してください

0x05

追加に失敗しました

顔がぼやけています

0x06

追加に失敗しました

顔が遠すぎます

0x07

追加に失敗しました

IDの初期化に失敗しました

0x08

追加に失敗しました

関数入力エラー

0x09

追加に失敗しました

機能値が存在しません

0x0A

追加に失敗しました

暗号化チップエラー

0x0B

追加に失敗しました

このIDは存在しません

0x0C

追加に失敗しました

ライブラリが上限に達しました

0x0F

追加に失敗しました

無効なID

0x10

追加に失敗しました

ファイルの保存に失敗しました

0x11

追加に失敗しました

ファイルタイプがjpg形式ではありません

0x12

追加に失敗しました

RPC呼び出しに失敗しました

0x13

追加に失敗しました

不明なタグ

0x14

追加に失敗しました

AIサービスは初期化を完了しませんでした

0xA0

AddFaceReturnImage()

1) 説明 : ライブラリにキャプチャを行いベースマップを出力する

retポインタが戻った後、上位のコンピュータはメモリを解放する必要があります

2) 関数 : int AddFaceReturnImage(void* dev, const void* pID, uint nIDLength, void** ppImage, uint *pImageLength);

3) パラメータ :

名称備考

dev

handle*

pID

const void*

データ長:4バイト

nIDLength

uint

ppImage

void**

取得画像画像データを受信します(NULLポインタアドレスを渡します)

pImageLength

uint*

ppImageのデータ長

4) 戻り値 :

名称状態

成功

0x00

追加に失敗しました

顔が見つかりません

0x01

追加に失敗しました

顔が複数あります

0x02

追加に失敗しました

顔が小さすぎます

0x03

追加に失敗しました

Alingスコアが低い

0x04

追加に失敗しました

プロファイルを確認してください

0x05

追加に失敗しました

顔がぼやけています

0x06

追加に失敗しました

顔が遠すぎます

0x07

追加に失敗しました

IDの初期化に失敗しました

0x08

追加に失敗しました

関数入力エラー

0x09

追加に失敗しました

機能値が存在しません

0x0A

追加に失敗しました

暗号化チップエラー

0x0B

追加に失敗しました

このIDは存在しません

0x0C

追加に失敗しました

ライブラリが上限に達しました

0x0F

追加に失敗しました

無効なID

0x10

追加に失敗しました

ファイルの保存に失敗しました

0x11

追加に失敗しました

ファイルタイプがjpg形式ではありません

0x12

追加に失敗しました

RPC呼び出しに失敗しました

0x13

追加に失敗しました

不明なタグ

0x14

追加に失敗しました

AIサービスは初期化を完了しませんでした

0xA0

AddFaceSlice()

1) 説明 : uploadAddImageByPcSliceは、uploadPackageSliceと同様に、スライスでアップグレードパッケージをアップロードするようにスライス(スライスあたり最大8080バイト)を介して大きな画像データ(最大サポート4M)を送信します。画像にaddImageByPcを使用することはお勧めしません。

2) 関数 : int GetFrameRate(void* dev, uint* pFrameRate);

3) パラメータ :

名称備考

dev

handle*

pID

const void*

nIDLength

uint

nImageTotalLength

uint

画像全体のデータ長

nPosition

uint

データの開始位置(たとえば、最初のデータ片は0から始まり、2番目のデータ片は0 +最初のピースの長さです)

isLastSlice

int

最後のデータ片

0x00 : No

0x01 : Yes

pSliceData

const void*

データ片

nSliceDataLength

uint

データ片の長さ

4) 戻り値 :

名称状態

成功

0x00

追加に失敗しました

顔が見つかりません

0x01

追加に失敗しました

顔が複数あります

0x02

追加に失敗しました

顔が小さすぎます

0x03

追加に失敗しました

Alingスコアが低い

0x04

追加に失敗しました

プロファイルを確認してください

0x05

追加に失敗しました

顔がぼやけています

0x06

追加に失敗しました

顔が遠すぎます

0x07

追加に失敗しました

IDの初期化に失敗しました

0x08

追加に失敗しました

関数入力エラー

0x09

追加に失敗しました

機能値が存在しません

0x0A

追加に失敗しました

暗号化チップエラー

0x0B

追加に失敗しました

このIDは存在しません

0x0C

追加に失敗しました

ライブラリが上限に達しました

0x0F

追加に失敗しました

無効なID

0x10

追加に失敗しました

ファイルの保存に失敗しました

0x11

追加に失敗しました

ファイルタイプがjpg形式ではありません

0x12

追加に失敗しました

RPC呼び出しに失敗しました

0x13

追加に失敗しました

不明なタグ

0x14

追加に失敗しました

AIサービスは初期化を完了しませんでした

0xA0

DeleteFace()

1) 説明 : baseライブラリからの顔データ削除

2) 関数 : int DeleteFace(void* dev, int nMode, const void* pID = nullptr, uint nIDLength = 0);

3) パラメータ :

名称備考

dev

handle*

nMode

const void*

0x00 : 全ての画像を削除

0x01 : 1枚の画像を削除

pID

const void*

オプション

nIDLength

uint

オプション

4) 戻り値

名称状態

成功

0x00

失敗

0x01

未知のエラー

-1

画像IDが残っている

-2

QueryFace()

1) 説明 : ベースデータベースのFaceIDを取得し、json形式で返します。 Char *は684K確保する必要があります。

2) 関数 : int QueryFace(void* dev, const void* pID, uint nIDLength, int nMode = 0);

3) パラメータ :

名称備考

dev

handle*

pID

const void*

必須

nIDLength

uint

必須

nMode

int

必須

初期値 : 0

IDにデータベースを

4) 戻り値

名称状態

成功

0x00

アルゴリズムIF呼び出し失敗

0x01

ファイルの長さの取得失敗

0x02

無効なデータ位置

0x03

ファイルの読み込み失敗

0x04

未知のエラー

-1

ret_buf_sizeのサイズが十分ではない

-2

StaticFaceCompare()

1) 説明 : モジュールスナップショットによってインポートされた静的比較(断片化なし)

2) 関数 : int StaticFaceCompare(void* dev, void** ppResImage, uint* pResImageLength);

3) パラメータ :

名称備考

dev

handle*

ppResImage

void**

出力パラメータ

返却される比較結果データ

pResImageLength

uint

ppResImageのアプリケーションスペースサイズの比較結果

4) 戻り値

名称状態

成功

0x00

失敗

0x01

未知のエラー

-1

StaticFaceCompareReturnImage()

1) 説明 : 静的比較(断片化なし)ホストコンピューターは画像をインポート

2) 関数 : int StaticFaceCompareReturnImage(void* dev, const void* pImage, uint nImageLength, void** ppResImage, uint* pResImageLength);

3) パラメータ :

名称備考

dev

handle*

pImage

const void*

入力画像データ

nImageLength

uint

挿入された画像データの長

ppResImage

void**

出力パラメータ

返却された比較結果データ

pResImageLength

uint

比較結果データ長ppResImageのアプリケーションスペースサイズ

4) 戻り値

名称状態

成功

0x00

失敗

0x01

未知のエラー

-1

StaticFaceCompareSlice()

1) 説明 : 製的比較

2) 関数 : int StaticFaceCompareSlice(void* dev, int nMode, uint nImageTotalLength, uint nPosition, int isLastSlice,const void* pSliceData, uint nSliceDataLength, void** ppResImage, uint* pResImageLength);

3) パラメータ :

名称備考

dev

handle*

nMode

const void*

比較モード

0x00:モジュールスナップショットによってインポート

0x01:ホストコンピューターは画像をインポート

nImageTotalLength

uint

取り込んだ画像の全体の長さ

nPosition

uint

現在のデータセグメント開始ビット

isLastSlice

int

0x00 : 最後ではない

0x01 : 最後である

pSliceData

const void*

取り込まれた画像データ

nSliceDataLength

uint

取り込まれた画像データ長

ppResImage

void**

結果データの長さを比較すると、ライブラリ内のIDの数が空の場合、実行は成功しますが、結果の長さは0です。

pResImageLength

uint*

結果データの比較

4) 戻り値

名称状態

成功

0x00

失敗

0x01

未知のエラー

-1

AddFeature()

1) 説明 : 特徴値を使用してベースデータベースの顔データを追加し、ベースデータベースIDと顔の特徴値に従って顔情報をベースデータベースに入力します。

2) 関数 : int AddFeature(void* dev, const void* pID, uint nIDLength, const void* pFeature, uint nFeatureLength);

3) パラメータ :

名称備考

dev

handle*

pID

const void*

機能値を使用してベースライブラリを追加します。pIDはaddFaceのIDと同じです。

nIDLength

uint

pIDの長さ

pFeature

const void*

特性データ

長さが約1500バイトのbase64の文字列

nFeatureLength

uint

pFeatureの長さ

4) 戻り値

名称状態

成功

0x00

失敗

0x01

未知のエラー

-1

QueryFeature()

1) 説明 : 基本データベースIDに従って特徴値を照会し、基本データベースIDを使用して、検索データベースの顔情報の顔特徴値を照会します。

2) 関数 : int QueryFeature(void* dev, const void* pID, uint nIDLength, void* pFeature, uint nFeatureLength);

3) パラメータ :

名称備考

dev

handle*

pID

const void*

機能値を使用してベースライブラリを追加します。pIDはaddFaceのIDと同じです。ce

nIDLength

uint

pIDの長さ

pFeature

const void*

特性データ

長さが約1500バイトのbase64の文字列

nFeatureLength

uint

pFeatureの長さ

4) 戻り値

名称状態

成功

0x00

失敗

0x01

未知のエラー

-1

StartOnetoNumRecognize()

1) 説明 : 1:N 顔認証

2) 関数 : int StartOnetoNumRecognize(void* dev, int nRecMode, int nMulMode);

3) パラメータ :

名称備考

dev

handle*

nRecMode

const void*

1 : 生体と認識モード

0 : 認識モード

nMulMode

int

1 : マルチプレイヤーモード

0 : シングルプレイヤーモード

4) 戻り値

名称状態備考

成功

0x00

正常に起動します

0x01

非対応

0x02

認識ライブラリが異常です

0x03

この認証モードは非対応です

未知のエラー

-1

StartOnetoNumRecognize()

1) 説明 : 1:N 顔認証

2) 関数 : int StartOnetoNumRecognize(void* dev, int nRecMode, int nMulMode);

3) パラメータ :

名称備考

dev

handle*

nRecMode

const void*

1 : 生体と認識モード

0 : 認識モード

nMulMode

int

1 : マルチプレイヤーモード

0 : シングルプレイヤーモード

4) 戻り値

名称状態備考

成功

0x00

正常に起動します

0x01

非対応

0x02

認識ライブラリが異常です

0x03

この認証モードは非対応です

未知のエラー

-1

StartOnetoOneRecognize()

1) 説明 : 1:1の顔認識を開始します(断片化なし)

2) 関数 : int StartOnetoNumRecognize(void* dev, int nRecMode, int nMulMode);

3) パラメータ :

名称備考

dev

handle*

nRecMode

1 : 生体と認識モード

0 : 認識モード

nMulMode

int

1 : マルチプレイヤーモード

0 : シングルプレイヤーモード

pImage

const void*

1:1の顔認識比較ベース画像データを開始します

nImageLength

uint

pImageの長さ

4) 戻り値

名称状態備考

成功

0x00

正常に起動します

0x01

非対応

0x02

認識ライブラリが異常です

0x03

この認証モードは非対応です

未知のエラー

-1

StartOnetoOneRecognizeSlice()

1) 説明 : 1:1の顔認識(断片化)を開始し、1:1の認識モードを開始すると、動的に切り替えることができます。

2) 関数 : int StartOnetoOneRecognizeSlice(void* dev, int nRecMode, int nMulMode, uint nImageTotalLength, uint nPosition,int isLastSlice, const void* pSliceData, uint nSliceDataLength);

3) パラメータ :

名称備考

dev

handle*

nRecMode

const void*

1 : 生体と認識モード

0 : 認識モード

nMulMode

int

1 : マルチプレイヤーモード

0 : シングルプレイヤーモード

nImageTotalLength

uint

ベースライブラリの画像の全長を比較する

nPosition

uint

現在のデータセグメント開始ビット

isLastSlice

int

0x00:最後ではない

0x01:最後

pSliceData

const void*

ベースライブラリの画像フラグメントのコンテンツを比較します。フラグメントは8Kを超えてはなりません。

nSliceDataLength

uint

ベースライブラリの画像フラグメントのコンテンツの長さを比較します

4) 戻り値

名称状態備考

成功

0x00

正常に起動します

0x01

顔なし

0x02

複数の顔

0x03

顔が小さすぎる

0x04

Alingスコアが低い

0x05

プロフィール

0x06

ぼやけた顔

0x07

顔が遠すぎる

ResumeRecognize()

1) 説明 : 顔認識を継続する

2) 関数 : int ResumeRecognize(void* dev);

3) パラメータ :

名称備考

dev

handle*

4) 戻り値

名称状態備考

成功

0x00

成功継続

0x01

失敗継続

未知のエラー

-1

PauseRecognize()

1) 説明 : 顔認識を一時停止します

2) 関数 : int PauseRecognize(void* dev);

3) パラメータ :

名称備考

dev

handle*

4) 戻り値

名称状態備考

成功

0x00

正常に中断されました

0x01

正常に中断されました

未知のエラー

-1

QueryRecognize()

1) 説明 : 顔認識ステータスの照会

2) 関数 : int QueryRecognize(void* dev);

3) パラメータ :

名称備考

dev

handle*

4) 戻り値

名称状態備考

成功

0x00

顔認証オープン

0x01

顔認証OFF

未知のエラー

-1

SetRecConfig()

1) 説明 : 顔認識の構成を設定する

2) 関数 : int SetRecConfig(void* dev, const void* pData, uint nDataLength, int nConfigType = 0);

3) パラメータ :

名称備考

dev

handle*

pData

const void*

Jsonデータ

nDataLength

uint

Jsonデータ長

nConfigType

int

0x00 : アルゴリズム構成

4) 戻り値

名称状態備考

成功

0x00

設定成功

0x01

設定失敗

未知のエラー

-1

GetRecConfig()

1) 説明 : 顔認識構成を取得する

2) 関数 : int StartOnetoNumRecognize(void* dev, int nRecMode, int nMulMode);

3) パラメータ :

名称備考

dev

handle*

pData

void*

Jsonデータ

nDataLength

uint

Jsonデータ長

nConfigType

int

0x00 : アルゴリズム構成

4) 戻り値

名称状態備考

成功

0x00

設定成功

0x01

設定失敗

未知のエラー

-1

OpenAutoUploadFaceInfoInFrame()

1) 説明 : フレームデータに認識結果を挿入するスイッチをオンにする(顔認識データはこのインターフェースを呼び出すことで取得でき、顔認識情報はgetFrame関数で取得できます)

2) 関数 : int OpenAutoUploadFaceInfoInFrame(void* dev);

3) パラメータ :

名称備考

dev

handle*

4) 戻り値

名称状態備考

成功

0x00

正常処理

0x01

処理失敗

未知のエラー

-1

CloseAutoUploadFaceInfoInFrame()

1) 説明 : フレームデータスイッチへの認識結果をオフにする

2) 関数 : int CloseAutoUploadFaceInfoInFrame(void* dev);

3) パラメータ :

名称備考

dev

handle*

4) 戻り値

名称状態備考

成功

0x00

正常処理

0x01

処理失敗

未知のエラー

-1

GetDeviceFaceID()

1) 説明 : IDリストの出力

2) 関数 : int GetDeviceFaceID(void* dev, void* pIDList, uint nIDListLength);

3) パラメータ :

名称備考

dev

handle*

pIDList

void*

IDリストのデータ内容

nIDListLength

uint

IDリストのデータ長

4) 戻り値

名称状態備考

成功

0x00

正常処理

0x01

アルゴリズムインターフェイスの呼び出しに失敗しました

0x02

ファイルの長さを取得できませんでした

0x03

無効なデータ配置

0x04

ファイルの読み取りエラー

未知のエラー

-1

SetRecognizeCount()

1) 説明 : 顔認証回数を設定する

2) 関数 : int SetRecognizeCount(void* dev, uchar nRecCount, uchar nLivingCount);nRecCount

3) パラメータ :

名称備考

dev

handle*

nRecCount

uchar

1-10:認識回数

デフォルトは10回

nLivingCount

uchar

1-10:生体検知回数

デフォルトは10回

4) 戻り値

名称状態備考

成功

0x00

正設に設定

0x01~0x16

失敗

未知のエラー

-1

SetTemplateUpdate()

1) 説明 : テンプレートの更新を設定する。

設定を更新するたびに、モジュールを再起動して有効にする必要があることに注意してください。

2) 関数 : int SetTemplateUpdate(void* dev, uchar isUpdate);

3) パラメータ :

名称備考

dev

handle*

isUpdate

uchar

0x00:更新を閉じる

0x01:更新を開く(デフォルトの更新を開く)

4) 戻り値

名称状態備考

成功

0x00

正常処理

0x01~0x16

アルゴリズム定義エラー

GetTemplateUpdate()

1) 説明 : テンプレートアップデートの取得

2) 関数 : int GetTemplateUpdate(void* dev, uchar* isUpdate); 3)parameter:

3) パラメータ :

名称備考

dev

handle*

pIDisUpdateList

uchar*

クエリテンプレートが更新されているかどうかを返します。1バイト

0x00:更新を閉じる

0x01:更新を開く

4) 戻り値

名称状態備考

成功

0x00

正常処理

0x01~0x16

アルゴリズム定義エラー

SetQRCodeSwitch()

1) 説明 : QRコード認証パラメータの設定

2) 関数 : int SetQRCodeSwitch(void* dev, uchar isOpen, uchar interval);

3) パラメータ :

名称備考

dev

handle*

isOpen

uchar

QRコード認識機能スイッチ

0x00:閉じる

0x01:開く

interval

uchar

識別レポートの間隔を設定します。デフォルトは5秒です。

4) 戻り値

名称状態備考

成功

0x00

正常処理

失敗

0x001

処理失敗

GetDeviceFaceLibraryNum()

1) 説明 : ベースライブラリ数を取得する

2) 関数 : int GetDeviceFaceLibraryNum(void* dev, uint *nFaceNum);

3) パラメータ :

名称備考

dev

handle*

nFaceNum

uint

照会されたベースライブラリの数

4) 戻り値

名称状態備考

成功

0x00

参照成功

失敗

0x01

参照失敗

GetSingleRecognize()

1) 説明 : 単一の認識結果を取得する。

ビデオで顔が検出された場合、認識結果が返されます。ビデオで顔が検出されない場合、返される文字列は空です。

2) 関数 : int GetSingleRecognize(void* dev, void* pData, uint nDataLength);

3) パラメータ :

名称備考

dev

handle*

pData

void*

nDataLength

uint

4) 戻り値

名称状態備考

成功

0x00

成功

0x01

失敗

RegisterRecoReportCb()

1) 説明 : コールバックレポート識別関数を登録する。

(この関数は、アクティブにレポートするために必要です。コールバックは識別結果データを取得します。デモのgetReoReportDataHandleコールバック関数のソースコードを参照できることに注意してください。)

2) 関数 : void RegisterRecoReportCb(void* dev, CallBackPtr_t handler_func);

3) パラメータ :

名称備考

dev

handle*

pDahandler_functa

voidCallBackPtr_t*

4) 戻り値

名称状態備考

void

RegisterTrackReportCb()

1) 説明 : コールバックレポート追跡関数を登録する。

(この関数は、追跡結果データを取得するためにコールバックをアクティブにレポートするために必要です。デモでgetReoTrackHandleコールバック関数のソースコードを参照できることに注意してください。)

2) 関数 : void RegisterTrackReportCb(void* dev, CallBackPtr_t handler_func);

3) パラメータ :

名称備考

dev

handle*

handler_func

CallBackPtr_t

コールバック関数ハンドル

4) 戻り値

名称状態備考

void

RegisterImageReportCb()

1) 説明 : コールバックを登録して画像関数を報告する。

(この関数はアクティブに報告するために必要であり、コールバックは認識画像の結果データを取得するために使用されます。デモでgetReoImageHandleコールバック関数のソースコードを参照できることに注意してください。 )

2) 関数 : void RegisterImageReportCb(void* dev, CallBackPtr_t handler_func);

3) パラメータ :

名称備考

dev

handle*

handler_func

CallBackPtr_t

コルバック関数ハンドラ

4) 戻り値

名称状態備考

void

0x00

成功

RegisterFeatureReportCb()

1) 説明 : コールバックを登録して機能値関数をレポートする。

(この関数はアクティブにレポートするために必要です。コールバックは識別機能値の結果データを取得します。デモでgetReoFeatureHandleコールバック関数のソースコードを参照できることに注意してください)。

モジュール認識結果が多すぎると、認識機能値の一部が報告されません。したがって、アクティブレポートスイッチ機能のopenAutoUploadAiInfoパラメーターはモード0x02にすることをお勧めします。また、デモコール設定も同様です。

2) 関数 : void RegisterFeatureReportCb(void* dev, CallBackPtr_t handler_func);

3) パラメータ :

名称備考

dev

handle*

handler_func

CallBackPtr_t

コールバック関数のハンドル

4) 戻り値

名称状態備考

void

0x00

成功

RegisterQRCodeReportCb()

1) 説明 : コールバックを登録してQRコード関数を報告する。

(この関数はアクティブに報告するために必要です。コールバックはQRコード認識の結果データを取得するために必要です。デモでgetQRCodeReportHandleコールバック関数のソースコードを参照できることに注意してください。)

SetQRCodeSwitch関数を呼び出してQRコードレポートスイッチをオンにすると、コールバック関数はQRコードの結果データを受信できます

2) 関数 : int GetSingleRecognize(void* dev, void* pData, uint nDataLength);

3) パラメータ :

名称備考

dev

handle*

handler_func

CallBackPtr_t

コールバック関数のハンドル

4) 戻り値

名称状態備考

void

ビデオフレーム検証情報の例:

{ "track_info": [ { "recognize_score": 0.986865, "liveness_score": 0.967434, "recognition_id": "fanzhao", "recognition_status": 0, "mask_sign": -1, "safety_hat": -1, "face_info": { "rect": { "bottom": 1113, "left": 30, "right": 442, "top": 637}, "track_id": 1196 } } ] }

track_info(認識結果)Recognition_id(可能な値はストレージID、UNKNOW、STRANGER、NONLIVENESS)

Recognition_status(可能な値は0、1、2、3、4)

liveness_score(活性マッチングスコア、認識が成功した後にのみ表示されます)

Recognition_score(認識が成功した後にのみ表示される一致スコアを識別します)

face_info(顔情報)

rect(顔の座標)

track_id(顔追跡ID)

mask_signはマスクの着用判定

-1 : マスクを着用するかどうかを判断しませんでした

1 : マスクを着用しないと判断します

2 : マスクを着用するかどうかを判断します

3 : マスクを着用していると判断されますが、マスクはきれいに着用されていません

Reoconfig設定を設定する必要があります。 enable_mask_signがfalseに設定されている場合、mask_signは常に-1になります。マスクチェックがオンになっている場合は、認識スコアとライブスコア項目を使用してjsonを識別することをお勧めします。jsonは、認識スコアとライブスコア項目を含まない追跡結果ではありません。デモのソースコードを参照できます。

安全ヘルメットを着用するかどうか

ヘルメット検出をオンにすることはお勧めしません。デフォルトではオフになっています。

Device

Ping()

1) 説明 : デバイスの接続性をテストする

2) 関数 : int Ping(void* dev, const void* pTestData, uint nTestDataLength);

3) パラメータ :

名称備考

dev

handle*

pTestData

const void*

オプション

nTestDataLength

uint

オプション

デフォルト0

4) 戻り値

名称状態備考

成功

0x00

失敗

0x01

UploadPackageSlice()

1) 説明 : アップグレードパッケージのアップロードを開始する。

2) 関数 : int UploadPackageSlice(void* dev, uint nPosition, const void* pPacketData, uint nPacketDataLength);

3) パラメータ :

名称備考

dev

handle*

nPosition

uint

現在のデータの開始位置。たとえば、最初のピースは0で、2番目のピースは0に最初のピースの長さを加えたものです

pPacketData

cons void*

nPacketDataLength

uint

4) 戻り値

名称状態備考

成功

0x00

0x00より小さい値

GetDevModelAppVer()

1) 説明 : モジュールハードウェアのバージョン番号を取得する。

2) 関数 : int GetDevModelAppVer(void* dev, void* pModelVersion, uint nModelVersionLength);

3) パラメータ :

名称備考

dev

handle*

pModelVersion

void*

バージョン番号データ

nModelVersionLength

uint

バージョン番号データ長

4) 戻り値

名称状態備考

成功

0x00

成功

0x01

呼び出し失敗

ApplyUpgrade()

1) 説明 : md5値を16進数に変換し、小文字のままにしてください。そうでない場合、デバイスはそれを認識しません。

2) 関数 : int ApplyUpgrade(void* dev, const void* pHashData, uint nHashDataLength);

3) パラメータ :

名称備考

dev

handle*

pHashData

const void*

nHashDataLength

uint

4) 戻り値

名称状態備考

成功

0x00

0x01

GetDeviceVersion()

1) 説明 : システムバージョン情報を照会する。

2) 関数 : int GetDeviceVersion(void* dev, void* pVersion, uint nLength);

3) パラメータ :

名称備考

dev

handle*

pVersion

void*

システムバージョン情報

以下のものが含まれる

software_version hardware_version model

vendor= BUILD_TIME

nDataLength

uint

アプリケーションスペースサイズ

4) 戻り値

名称状態備考

成功

0x00

照会成功

0x01

照会失敗

照会失敗

0x02

未知の

-1

ret_buf_size spaceが小さすぎます

-2

Reboot()

1) 説明 : システムを再起動する。

2) 関数 : int Reboot(void* dev, int nMode);

3) パラメータ :

名称備考

dev

handle*

nMode

int

0x00:直接再起動

0x01:Uディスクユーザーモードに切り替えて再起動します

0x02:非Uディスクユーザーモードで再起動します

0x03:Uディスクファクトリモードに切り替えて再起動します

0x04:非Uディスクファクトリモードで再起動

4) 戻り値

名称状態備考

成功

0x00

参照失敗

0x01

失敗

未知のエラー

-1

SetUmodeToEngin()

1) 説明 : システムを再起動する(再起動時の非Uディスクファクトリモードの再起動に対応します)

2) 関数 : int SetUmodeToEngin(void* dev);

3) パラメータ :

名称備考

dev

handle*

4) 戻り値

名称状態備考

成功

0x00

正常処理

0x01

処理失敗

未知のエラー

-1

Reset()

1) 説明 : システムを再起動する(再起動時の直接再起動に対応します)

2) 関数 : Restart the system (corresponding to the direct restart in reboot):

3) パラメータ :

名称備考

dev

handle*

4) 戻り値

名称状態備考

成功

0x00

正常処理

0x01

処理失敗

未知のエラー

-1

Recovery()

1) 説明 : リセットする。

2) 関数 : int Recovery(void* dev, int nMode);

3) パラメータ :

名称備考

dev

handle*

nMode

int

0x00 : ユーザー構成をクリアします

0x01 : ユーザー構成を保存します

4) 戻り値

名称状態備考

成功

0x00

正常処理

0x01

処理失敗

未知のエラー

-1

GetDevSn()

1) 説明 : デバイスのSNを取得する

2) 関数 : int GetDevSn(void* dev, char nMode, void* pDevSn, uint nDevsnLength);

3) パラメータ :

名称備考

dev

handle*

nMode

char

pDevSn

void*

nDevsnLength

uint

4) 戻り値

名称状態備考

成功

0x00

成功

0x01

失敗

未知のエラー

-1

ret_buf_sizaが過ぎます

-2

GetDevModel()

1) 説明 : デバイスのモデルを取得する

2) 関数 : int GetDevModel(void* dev, void* pDevModel, uint nDevModelLength);

3) パラメータ :

名称備考

dev

handle*

pDevModel

void*

nDevModelLength

uint

4) 戻り値

名称状態備考

成功

0x00

成功

0x01

失敗

未知のエラー

-1

ret_buf_sizaが過ぎます

-2

GetCpuTemperature()

1) 説明 : CUP温度を照会する。

2) 関数 : int GetCpuTemperature(void* dev, uint* nTemperature);

3) パラメータ :

名称備考

dev

handle*

nTemperature

uint

CPU結合部温度

4) 戻り値

名称状態備考

成功

0x00

成功

0x01

失敗

CloseAutoUploadAiInfo()

1) 説明 : 認識結果のシリアルポートデータのアクティブなレポートスイッチをオフにする。

このインターフェイスを呼び出すと、登録コールバック関数registerRecoReportCb、registerTrackReportCb、registerImageReportCb、registerFeatureReportCbに対応する顔認識データレポートがオフになります。

2) 関数 : int CloseAutoUploadAiInfo(void* dev);

3) パラメータ :

名称備考

dev

handle*

4) 戻り値

名称状態備考

成功

0x00

成功

0x01

失敗

未知のエラー

-1

OpenAutoUploadAiInfo()

1) 説明 : 認識結果のシリアルポートデータの自動レポートスイッチをオンにする。

このインターフェイスを呼び出すと、登録コールバック関数registerRecoReportCb、registerTrackReportCb、registerImageReportCb、registerFeatureReportCbに対応する顔認識データがレポートされます。

画像と認識機能値をレポートする必要がない場合は、アクティブレポートを有効にせず、フレームデータレポートopenAutoUploadFaceInfoInFrameのみを有効にして下さい。

2) 関数 : int OpenAutoUploadAiInfo(void* dev, char nUploadMode,char nImageMode);

3) パラメータ :

名称備考

dev

handle*

nUploadMode

char

0x00:すべての情報を報告する

0x02:画像と認識を報告する(このパラメーターをお勧めします。認識が多すぎると特徴値データの一部が報告されないため、デモもこのパラメーターです)

0x03:機能の値と認識を報告する

0x04:レポートの識別

nImageMode

char

0x00:RGB顔、RGB背景、およびIR画像は報告されません。

0x01:RGB顔画像データのみを報告します。

0x02:RGB背景画像データのみを報告します。

0x03:RGB顔とRGB背景画像を報告します。

0x04:IRグラフデータのみを報告します。

0x05:IR画像とRGB顔画像を報告します。

0x06:IR画像とRGB背景画像を報告します。

4) 戻り値

名称状態備考

成功

0x00

正常処理

0x01

処理失敗

未知のエラー

-1

モードエラー

-2

Last updated