6.1 Windows/Linux SDK

現状リリースしているWindows SDKのみ、M20とホストWindowsマシーンとのUSBによるシリアル通信機能の実装のためにQTの機能を使用しているため、QT環境でご利用いただく必要があります。なお、次のバージョンからはこの制限がなくなる予定です。

ここでは、Windows/Linux SDKで使用可能なAPIについて説明します。

本SDKの開発環境はQT/C#/VC++/CLIを想定しています。また下記APIの戻り値については特に指定がない場合はint型です。

WindowsSDKでアプリケーションを開発するにはQtの開発環境で開発いただく必要があります。Qtの開発環境のインストール方法についてはのQtのインストールを参照ください。

6.1.1 Equipment control section

init( )

alias: initDev

parameter: null

return: handle*

deInit( )

alias: deInitDev

parameter: handle*

return: null

enumDevice( )

parameter:

Name

Type

Remark

videoDevBuf

char*

videoDevSize

int

"|"で区切られます

serialBuf

uchar*

serialSize

int

return:

検出されたデバイスの総数(ビデオデバイスの数+シリアルデバイスの数)を返します。

connectSerial( )

parameter:

Name

Type

Remark

dev

handle*

portName

char*

Windows上では"com *"

Linux上では"ttyacm *"

return code:

Status Code

Remark

0x00

success

0x01

failed

connectCamera( )

parameter:

Name

Type

Remark

dev

handle*

camName

char*

Windows上では"UVC Camera"

return code:

Status Code

Remark

0x00

success

0x01

failed

disconnectSerial( )

parameter:

Name

Type

Remark

dev_handle

handle*

return:

Status Code

Remark

0x00

success

0x01

failed

disconnectCamera( )

parameter:

Name

Type

Remark

dev_handle

handle*

return:

Status Code

Remark

0x00

success

0x01

failed

Data instruction section

addImageByCamera( )

スナップショットにより画像を追加します。

parameter:

Name

Type

dev_handle

handle*

imageId

char*

imageIdLength

uint

return:

Status Code

Remark

0x00

成功

0x01

追加失敗

顔情報がありません

0x02

追加失敗

顔情報が複数あります

0x03

追加失敗

顔サイズが小さすぎます

0x04

追加失敗

アラインスコアが小さすぎます

0x05

追加失敗

横顔です

0x06

追加失敗

顔情報が曖昧すぎます

0x07

追加失敗

顔との距離が離れています

0x08

追加失敗

初期化に失敗しました

0x09

追加失敗

不正なパラメーターが入力されました

0x0A

追加失敗

featureが存在しません

0x0B

追加失敗

暗号化チップエラー

0x0C

追加失敗

このIDが存在しません

0x0F

追加失敗

この製品のベースは上限に達しました

0x10

追加失敗

IDが無効です

0x11

追加失敗

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

0x12

追加失敗 ファイルの種類がJPEGではありません

0x13

追加失敗

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

0x14

追加失敗

タグ情報が不明です

0xA0

追加失敗

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

addImageByCameraImage( )

キャプチャとベース画像のエクスポートします。

parameter:

Name

Type

Remark

dev

handle*

imageId

char*

imageIdLength

uint

ret

char**

受信する画像データ (null pointerを転送してください)

length

uint

retのデータ長

return:

Status Code

Remark

0x00

成功

0x01

追加失敗

顔情報がありません

0x02

追加失敗

顔情報が複数あります

0x03

追加失敗

顔サイズが小さすぎます

0x04

追加失敗

アラインスコアが小さすぎます

0x05

追加失敗

横顔です

0x06

追加失敗

顔情報が曖昧すぎます

0x07

追加失敗

顔との距離が離れています

0x08

追加失敗

初期化に失敗しました

0x09

追加失敗

不正なパラメーターが入力されました

0x0A

追加失敗

featureが存在しません

0x0B

追加失敗

暗号化チップエラー

0x0C

追加失敗

このIDが存在しません

0x0F

追加失敗

この製品のベースは上限に達しました

0x10

追加失敗

IDが無効です

0x11

追加失敗

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

0x12

追加失敗 ファイルの種類がJPEGではありません

0x13

追加失敗

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

0x14

追加失敗

タグ情報が不明です

0xA0

追加失敗

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

addImageByPc( )

ホストコンピューターから画像を本デバイス側にアップロードします。

parameter:

Name

Type

Remark

dev_handle

handle*

imageId

char*

imageIdLength

uint

data

char*

受信した画像データ

length

uint

dataのデータ長

return:

Status Code

Remark

0x00

成功

0x01

追加失敗

顔情報がありません

0x02

追加失敗

顔情報が複数あります

0x03

追加失敗

顔サイズが小さすぎます

0x04

追加失敗

アラインスコアが小さすぎます

0x05

追加失敗

横顔です

0x06

追加失敗

顔情報が曖昧すぎます

0x07

追加失敗

顔との距離が離れています

0x08

追加失敗

初期化に失敗しました

0x09

追加失敗

不正なパラメーターが入力されました

0x0A

追加失敗

featureが存在しません

0x0B

追加失敗

暗号化チップエラー

0x0C

追加失敗

このIDが存在しません

0x0F

追加失敗

この製品のベースは上限に達しました

0x10

追加失敗

IDが無効です

0x11

追加失敗

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

0x12

追加失敗

ファイルの種類がJPEGではありません

0x13

追加失敗

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

0x14

追加失敗

タグ情報が不明です

0xA0

追加失敗

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

uploadAddImageSlice( )

スライス(1スライスあたり最大8080バイト)の手法によって、大きな画像データを転送するために使用されます。

parameter:

Name

Type

Remark

dev_handle

handle*

imageId

char*

imageIdLength

uint

sliceData

char*

スライスされたデータ

sliceDataLength

uint

スライスされたデータの長さ

position

int

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

imageTotalLength

uint

画像データ全体の長さ

islastSlice

int

最後のスライスされたデータかどうかを確認

0x00:NO

0x01:YES

return:

Status Code

Remark

0x00

成功

0x01

追加失敗

顔情報がありません

0x02

追加失敗

顔情報が複数あります

0x03

追加失敗

顔サイズが小さすぎます

0x04

追加失敗

アラインスコアが小さすぎます

0x05

追加失敗

横顔です

0x06

追加失敗

顔情報が曖昧すぎます

0x07

追加失敗

顔との距離が離れています

0x08

追加失敗

初期化に失敗しました

0x09

追加失敗

不正なパラメーターが入力されました

0x0A

追加失敗

featureが存在しません

0x0B

追加失敗

暗号化チップエラー

0x0C

追加失敗

このIDが存在しません

0x0F

追加失敗

この製品のベースは上限に達しました

0x10

追加失敗

IDが無効です

0x11

追加失敗

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

0x12

追加失敗 ファイルの種類がJPEGではありません

0x13

追加失敗

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

0x14

追加失敗

タグ情報が不明です

0xA0

追加失敗

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

getDeviceFaceID( )

一番下のデータベースのFaceIDを取得しJSON形式で返します。

parameter:

Name

Type

Remark

dev_handle

handle*

ret

char*

Mandatory

ret_buf_size

uint

Mandatory

return:

Status Code

Remark

0x00

成功

0x01

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

0x02

ファイルの長さの取得に失敗しました

0x03

フラグメントデータの場所が無効です

0x04

ファイルの読み込みに失敗しました

-1

unknown error

-2

ret_buf_sizeの長さが足りません

deleteImage( )

parameter:

Name

Type

Remark

dev_handle

handle*

mode

int

imageId

char*

imageIdLength

uint

return:

Status Code

Remark

0x00

成功

ID does not exist

IDが存在しません

-1

unknown error

-2

ImageIDを空にすることはできません

queryId( )

parameter:

Name

Type

Remark

dev_handle

handle*

mode

int

imageId

char*

imageIdLength

uint

return:

Status Code

Remark

0x00

成功

0x01

IDが存在しません

0x02

照会に失敗しました

-1

unknown error

-2

ImageIDを空にすることはできません

setRecognizeCount( )

parameter:

Name

Type

Remark

dev_handle

handle*

recognizeCount

char*

クエリの認証回数を返却します

recognizeCount_size

unsigned int

クエリの認証回数のデータサイズを返却します、1バイト

return:

Status Code

Remark

0x00

成功

0x01~0x16

失敗

-1

unknown error

-2

サイズが違います

getRecognizeCount( )

parameter:

Type

Remark

handle*

char*

クエリの認証回数を返却します、1バイト

unsigned int

クエリの認証回数のデータサイズを返却します、1バイト

char*

クエリの生体のカウント数を返却します、1バイト

unsigned int

クエリの生体のカウント数のサイズを返却します、1バイト

return:

Status Code

Remark

0x00

成功

0x01~0x16

失敗

-1

unknown error

-2

サイズが違います

setTemplateUpdate( )

※設定を更新するたびに、モジュールを再起動して有効にする必要があります。

parameter:

Name

Type

Remark

dev_handle

handle*

0x00:アップデートを閉じます

templateMode

int

0x01:アップデートを開きます(デフォルト)

return:

Status Code

Remark

0x00

成功

-1

失敗

-2

パラメーターエラー

getTemplateUpdate ( )

parameter:

Name

Type

Remark

dev_handle

handle*

templateMode

char*

テンプレートの更新を有効にするかどうかのクエリを返却します

0x00:Close

0x01:Open

templateMode _size

unsigned int

return:

Status Code

Remark

0x00

成功

-1

失敗

-2

パラメーターエラー

inputImage( )

parameter:

Name

Type

Remark

dev_handle

handle*

0x00:スナップショットによるコントラスト

mode

int

0x00:デバイス側で撮影された際のコントラスト

0x01:ホストコンピューターからアップロードされた際のコントラスト

data

char*

モードが0x01の場合の画像データ

length

uint

モードが0x01の場合の画像データの長さ

ret

char*

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

ret_size

uint

比較結果として返却されるデータサイズ

return:

Status Code

0x00

成功

-1

unknown error

-2

ret_sizeが小さすぎます

addFeature( )

parameter:

Name

Type

Remark

dev_handle

handle*

featureId

conset char*

固有値を使用してライブラリの下部に追加します。IDはaddimageのIDと同じです。

featureIdLength

uint

IDの長さ

data

char*

featureのデータ(長さが約1500バイトのBase64エンコードの文字列)

length

uint

featureのデータの長さ

return:

Status Code

Remark

0x00

成功

-1

unknown error

-2

ret_sizeが小さすぎます

queryFeature( )

parameter:

Name

Type

Remark

dev_handle

handle*

featureId

conset char*

featureのID

featureIdLength

uint

featureのIDの長さ

ret

char*

出力パラメータ、返却されるクエリ固有値

ret_size

uint

返却されるクエリ固有値のサイズ

return:

Status Code

Remark

0x00

成功

-1

unknown error

-2

ret_sizeが小さすぎます

startOnetoNumRecognize( )

1: Nの顔認証を開始します。

parameter:

Name

Type

Remark

dev_handle

handle*

reomode

int

1 生体検知かつ認証パターン

0 認証のみのパターン

mulmode

int

1 複数パターン

0 シングルパターン

return:

Status Code

Remark

0x00

成功

0x01

サポート外

0x02

ライブラリ例外

-1

unknown error

startOnetoOneRecognize( )

1: 1の顔認証を開始します。

parameter:

Name

Type

Remark

dev_handle

handle*

reomode

int

1 生体検知かつ認証パターン

0 認証のみのパターン

mulmode

int

1 複数パターン

0 シングルパターン

data

char*

1:1顔認識の下部データベースの画像データ

length

uint

dataの長さ

return:

Status Code

Remark

0x00

成功

0x01

サポート外

0x02

ライブラリ識別

exceptions

例外

-1

unknown error

resumeRecognize( )

認証を再開します。

parameter:

Name

Type

Remark

dev_handle

handle*

return:

Status Code

Remark

0x00

成功

0x01

失敗

-1

unknown error

pauseRecognize( )

認証を停止します。

parameter:

Name

Type

Remark

dev_handle

handle*

return:

Status Code

Remark

0x00

成功

0x01

失敗

-1

unknown error

queryRecognize( )

顔認識ステータスの照会を行います。

parameter:

Name

Type

Remark

dev_handle

handle*

return:

Status Code

Remark

0x00

成功

0x01

失敗

-1

unknown error

setReoconfig( )

顔認証の設定を行います。

parameter:

Name

Type

Remark

dev_handle

handle*

mode

int

0x00 アルゴリズムの設定

jsonData

char*

以下に具体的な説明を記載

jsonDataLength

uint

return:

Status Code

Remark

0x00

成功

0x0

失敗

-1

unknown error

getReoconfig( )

​顔認証の設定情報をします。

parameter:

Name

Type

Remark

dev_handle

handle*

mode

int

0x00 アルゴリズムの設定

ret

char*

ret_buf_size

uint

return:

Status Code

Remark

0x00

成功

0x01

失敗

-1

unknown error

openAutoUploadAiInfo( )

認証結果のシリアルポートデータのアクティブレポートスイッチをオンにします(このAPIを呼び出すと、顔認識データレポートが利用可能になります。登録されたコールバック関数registerRecoReportCb、registerTrackReportCb、registerImageReportCb、registerFeatureReportCbに対応します)。

※画像認識と特徴値が取得できない場合は、アクティブレポートをオンにしないことをお勧めします。

後述するopenAutoUploadFaceInfoInFrameを使用するには、フレームデータレポートのみを有効にする必要があります。

parameter:

Name

Type

Remark

dev_handle

handle*

mode

int

0x00: 全情報をレポートします

0x02: 画像と認証結果をレポートします

0x03: 特徴量と認証結果をレポートします

0x04: 認証結果をレポートします

imageMode

int

0x00:RGB顔、RGB背景、IR画像はレポートされません

0x01:RGB顔画像がレポートされます

0x02:RGB背景がレポートされます

0x03:RGB顔画像と背景のマップがレポートされます

0x04:IRのチャートがレポートされます

0x05:IR画像とRGB顔画像がレポートされます

0x06:IRとRGB背景画像がレポートされます

0x07:RGB顔、RGB背景、IR画像がレポートされます

return:

Status Code

Remark

0x00

成功

0x01

失敗

-1

unknown error

-2

モデルエラー

closeAutoUploadAiInfo( )

認証結果シリアルポートデータアクティブレポートスイッチをオフにします(このAPIを呼び出すと、参照登録コールバック関数registerRecoReportCb、registerTrackReportCb、registerImageReportCb、registerFeatureReportCbに対応する顔認識データレポートがオフになります)。

parameter:

Name

Type

Remark

dev_handle

handle*

return:

Status Code

Remark

0x00

成功

0x01

失敗

-1

unknown error

registerRecoReportCb( )

コールバックレポート認証関数を登録します(この関数は、要件をアクティブにレポートし、コールバックして認証結果データを取得します)。

parameter:

Name

Type

Remark

dev_handle

handle*

handler_func

CallBackPtr_t

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

return:

void

registerTrackReportCb( )

コールバックレポート追跡関数を登録します(この関数は、需要をアクティブに報告し、コールバックして追跡結果データを取得します)。

parameter:

Name

Type

Remark

dev_handle

handle*

handler_func

CallBackPtr_t

Handle to the callback function

return:

void

registerImageReportCb( )

画像をレポートするコールバック関数を登録します(この関数は画像をアクティブにレポートし、コールバックして認識画像の結果データを取得します)。

parameter:

Name

Status Code

Remark

dev_handle

handle*

handler_func

CallBackPtr_t

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

return:

void

registerFeatureReportCb( )

コールバックレポート固有値関数を登録します(この関数は要件アクティブレポートです。コールバックは固有値結果を識別するデータを取得します)。

※モジュール認識結果が多すぎる場合、一部の認識機能の値は報告されません。

parameter:

Name

Type

Remark

dev_handle

handle*

handler_func

CallBackPtr_t

Handle to the callback function

return:

void

registerReOpenCameraCb( )

登録コールバックが再度開かれると、上位のコンピューターとの接続が切断されます。そのため、新規接続を開始した際、モジュールの自己起動に対応します。最後の接続に関するアクティブなレポートを有効にする場合、新規の接続状態を維持することもできます。

parameter:

Name

Type

Remark

handler_func

CallBackPtr_t

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

return:

void

openAutoUploadFaceInfoInFrame( )

認証結果をフレームデータに挿入するスイッチをオンにします(このインターフェイスを呼び出して顔認識データを取得し、getFrame関数を呼び出して顔認識情報を取得します)。

parameter:

Name

Type

Remark

dev_handle

handle*

return:

Status Code

Remark

0x00

成功

0x01

失敗

-1

unknown error

closeAutoUploadFaceInfoInFrame( )

認識結果をフレームデータに挿入するスイッチをオフにします。

parameter:

Name

Type

Remark

dev_handle

handle*

return:

Status Code

Remark

0x00

成功

0x01

失敗

-1

unknown error

ping( )

parameter:

Name

Type

Remark

dev_handle

handle*

data

char*

オプション

length

uint

オプション(デフォルト0)

return:

Status Code

Remark

0x00

成功

0x01

失敗

uploadPackageSlice( )

parameter:

Name

Type

Remarks

dev_handle

handle*

position

int

現在のデータスライスの開始位置

最初のスライスは0、2番目のスライスは0に最初のスライスの長さを加えたものです。

data

char

length

uint

return:

Status Code

Remark

0

成功

< 0

失敗

applyUpgrade( )

parameter:

Name

Type

Remark

dev_handle

handle*

hash

char*

取り込んだMD5のデータを受信

length

uint

return:

Status Code

Remark

0x00

成功

0x01

失敗

getSysVer( )

parameter:

Name

Type

Remark

dev_handle

handle*

ret

char*

システムバージョン情報を取得するための出力パラメーター

ret_buf_size

uint

retのサイズ

return:

Status Code

Remark

0x00

成功

0x01

失敗

0x02

エラー

-1

unknown error

-2

ret_buf_sizeが小さすぎます

reboot( )

reboot

parameter:

Name

Type

Remark

dev_handle

handle*

mode

int

0x00:直接再起動

0x01:USBメモリによるユーザーモードで再起動

0x02:USBメモリ以外によるユーザーモードで再起動

0x03:USBメモリによるファクトリーモードで再起動

0x04:USBメモリ以外によるファクトリーモードで再起動

return:

Status Code

Remark

0x00

成功

0x01

失敗

-1

unknown error

setUmodeToEngin( )

システムの再起動(USBメモリ以外によるファクトリーモードでの再起動と同様)します。

parameter:

Name

Type

Remark

dev_handle

handle*

return:

Status Code

Remark

0x00

成功

0x01

失敗

-1

unknown error

reset( )

システム再起動(ダイレクトリスタートと同様)します。

parameter:

Name

Type

Remark

dev_handle

handle*

return:

Status Code

Remark

0x00

成功

0x01

失敗

-1

unknown error

recovery( )

ファクトリー設定を復元します。

parameter:

Name

Type

Remark

dev_handle

handle*

mode

int

0x00 : ユーザー設定消去

0x01 : ユーザー設定保存

return:

Status Code

Remark

0x00

成功

0x01

失敗

-1

unknown error

getDevSn( )

デバイスのシリアルナンバーを取得します。

parameter:

Name

Type

Remark

dev_handle

handle*

ret

char*

ret_buf_size

uint

return:

Status Code

Remark

0x00

成功

0x01

失敗

-1

unknown error

-2

ret_buf_sizeが小さすぎます

getDevModel( )

デバイスモデルを取得します。

parameter:

Name

Type

Remark

dev_handle

handle*

ret

char*

ret_buf_size

uint

return:

Status Code

Remark

0x00

成功

0x01

失敗

-1

unknown error

-2

ret_buf_sizeが小さすぎます

setCameraStream( )

カメラを切り替えます。

parameter:

Name

Type

Remark

dev_handle

handle*

disposeMode

int

0x00:カメラを有効にする

0x01:カメラを無効にする

cameraMode

int

0x00:RGBカメラ

0x01:IRカメラ

return:

Status Code

Remark

0x00

成功

0x01

失敗

-1

unknown error

getCameraStream( )

カメラスイッチの状態を取得します。

parameter:

Name

Type

Remark

dev_handle

handle*

cameraMode

int

0x00:RGB camera

0x01:IR camera

ret

char*

0x00:Camera off

0x01:Camera on

ret_buf_size

uint

return:

Status Code

Remark

0x00

success

0x01

failed

-1

unknown error

-2

ret_buf_sizeが小さすぎます

switchCamRgbIr( )

parameter:

Name

Type

Remark

dev_handle

handle*

mode

int

0x00:RGBに変更

0x01:IRに変更

return:

Status Code

Remark

0x00

成功

0x01

失敗

-1

unknown error

setIRlight()

IRライトの輝度を設定します。

parameter:

Name

Type

Remark

dev_handle

handle*

luminance

int

IR ライト輝度,0-200

return:

Status Code

Remark

0x00

成功

0x01

失敗

-1

unknown error

-2

輝度エラー

setIRlightAndTime( )

IRライトを自動でOFFにする時間を設定します。

parameter:

Name

Type

Remark

dev_handle

handle*

luminance

int

IRライト輝度,0-200

time

int

IRライトが自動的に消灯する時間。単位は秒、範囲は0〜12(0x00〜0x78)。 0の場合、検出は行われません。最後の顔の検出時間が計算され、最大誤差は1秒です。現在の値のみが有効で、再起動は無効です。設定値が範囲を超える場合は、制限値を優先します。デフォルト値:30

return:

Status Code

Remark

0x00

成功

0x01

失敗

-1

unknown error

-2

輝度エラー

getIRlight( )

IRライトの輝度を取得します。

parameter:

Name

Type

Remark

dev_handle

handle*

ret

char*

ret_buf_size

uint

return:

Status Code

Remark

0x00

成功

0x01

失敗

-1

unknown error

-2

ret_buf_sizeが小さすぎます

setFrameRate( )

フレームレートを設定します。

parameter:

Name

Status Code

Remark

dev_handle

handle*

frame_rate

int

フレームレート,10-25

return:

Status Code

Remark

0x00

成功

0x01

失敗

-1

unknown error

-2

フレームレートエラー

getFrameRate( )

フレームレートを取得します。

parameter:

Name

Type

Remark

dev_handle

handle*

ret

char*

ret_buf_size

uint

return:

Status Code

Remark

0x00

成功

0x01

失敗

-1

unknown error

-2

ret_buf_sizeが小さすぎます

setResolution( )

画面サイズを設定します(360pに変更する際はご注意ください)。USB電源をすぐにオフにしないで、モジュールが同期して設定されるまで5秒間待ちます。

parameter:

Name

Type

Remark

dev_handle

handle*

mode

int

360:360P

720:720P

return:

Status Code

Remark

0x00

成功

0x01

失敗

-1

unknown error

getScreenDirection( )

スクリーンモードの取得

parameter:

Name

Type

Remark

dev_handle

handle*

ret

ret_buf_size

return:

Status Code

Remark

0x00

成功

0x01

失敗

-1

unknown error

-2

ret_buf_sizeが小さすぎます

setDeviceNoFlickerHz( )

アンチフリッカー状態を設定します。

parameter:

Name

Type

Remark

dev_handle

handle*

camera_id

int

0x00:ID 0のカメラ

0x01:ID 1のカメラ

Hz

int

0x00:50HZ

0x01:60HZ

return:

Status Code

Remark

0x00

成功

0x01

失敗

-1

unknown error

getDeviceNoFlickerHz( )

アンチフリッカー状態を取得します。

parameter:

Name

Type

Remark

dev_handle

handle*

camera_id

int

0x00:ID 0のカメラ

0x01:ID 1のカメラ

ret

char*

ret_buf_size

uint

return:

Status Code

0x00

成功

0x01

失敗

-1

unknown error

-2

ret_buf_sizeが小さすぎます

getLuminousSensitivityThreshold( )

現在の感光性の値を取得します。

parameter:

Name

Type

Remark

dev_handle

handle*

ret

char*

ret_buf_size

int

return:

Status Code

Remark

0x00

成功

0x01

失敗

-1

unknown error

getModuleAppVersion( )

デバイスにインストールされたアプリケーションのバージョン情報を取得します。

parameter:

Name

Type

Remark

dev_handle

handle*

ret

char*

ret_buf_size

uint

return:

Status Code

Remark

0x00

成功

0x01

失敗

-1

unknown error

6.1.2 Media section

SetDecoding( )

ビデオデコーダーの設定に使用します。 connectCameraを実行した後、カメラは自動的に再接続します。異なるデコーダーの効率は異なる場合があります。実際の状況に応じて選択してください。現在のインターフェースは無効に設定されており、MJPEGのみをサポートします。

parameter:

Name

Type

Remark

dev

handle*

mode

int

0 - MJPEG

1 - H.264

getFrameWidth( )

フレームの幅を取得します。バッファサイズは幅 x 高さ x 4です。

parameter:

Name

Type

dev

handle*

getFrameHeight( )

フレームの高さを取得します。バッファサイズは幅 x 高さ x 4です。

parameter:

Name

Type

dev

handle*

getFrame( )

画像のフレームと検証情報を取得します。画像の保存形式はビットマップで、順序はBBGGRRAAです。呼び出し元は、最新の画像を取得するためにAPIをポーリングする必要があります。これらのアイテムの1つについて、バッファサイズをゼロに設定して、1つのアイテムのみが取得されるようにできます。たとえば、imageBufとimageSizeが0の場合、verifyBufが通常渡されると、画像の代わりに顔認識情報を取得できます。

parameter:

Name

Type

dev

handle

imageBuf

char*

imageSize

int

verifyBuf

char*

verifySize

int

return:

Status Code

Remark

0x00

成功

0x01

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

0x02

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

-1

新しい画像はまだありません

Verifybufはデバイスから送信された検証情報をJSONの形式で保存します。

Verifybufのデータ構造における各フィールド名称とその説明は以下の通りです。

Name

Type

Remark

faceinfo

array

rect

object

bottom

int

right

int

left

int

top

int

recognition_status

int

認証結果の状態を示す値:

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

1:非生体

2:ライブラリに保存されている人物

3:未登録者

4:識別結果

recognition_id

string

UNKNOWN

NOLIVENESS

PERSON ID

STRANGER

recognize_score

float

初回成功時のみ取得可能です

liveness_score

floa

上記と同様です

Verifybufの例:

{
   "trackinfo": [ 
    { "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 } } ]
 }

trackinfoとして説明すると以下となります。

説明

track_info (認証結果)

recognition_id

(取り得る値はPERSON ID, UNKNOW, STRANGER,NONLIVENESS)

recognition_status

(取り得る値は0,1,2,3,4)

liveness_score

(生体検知のスコアは認証が成功した後に取得できます)

recognize_score

(認証スコアは認証が成功した後に取得できます)

face_info (顔情報)

rect (顔の座標)

track_id (顔追尾ID)

masksign

(マスクをしているかどうか)

-1:マスクをしているかどうかの判定なし

1:マスクをしていない

2:マスクをしている

3:マスクが正しい位置に無い

setreoconfigの設定が必要です。 enable mask_signがfalseに設定されている場合、mask_signは常に-1になります。

マスク検知がオンになっている場合は、追跡結果を含むJSONではなく、認証スコアと生体検知スコア項目を使用してJSONを識別することをお勧めします。

safety_hat

安全ヘルメットを検出します

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

setReoconfig jsonDataについて

AIサービスの構成情報を設定するjsonDataのデータ構造について説明します。具体的には以下の構造となります。

{ 
"work_mode": 0, 
"recognize_mode" : 1, 
"face_mode" : 1, 
"enable_qr_code" : false, 
"enable_track_box" : true, 
"liveness_thresh" : 0.98, 
"recognition_thresh" : 0.92, 
"verify_thresh" : 0.91, 
"recognition_interval" : 5, 
"report_interval" : 5, 
"max_face_cnt" : 4, 
"face_size" : 10, 
"enable_feature_export" : true, 
"enable_image_export" : true, 
"ae_mode" : 1, 
"ae_flicker_freq" : 0, 
"enable_safety_hat" : false,
 "enable_mask_sign" : false
 }

各々のパラメーターについては以下で説明します。

パラメーター名

パラメータータイプ

パラメーター範囲とデフォルト値

work_mode

enum

0: 1:N 認証

1: 1:1 認証

デフォルト値: 0

recognize_mode

enum

0:認証のみ

1:認証と生体検知

2:生体検知のみ

デフォルト値: 1

face_mode

enum

0:1つの顔に対応

1:複数の顔に対応

デフォルト値: 1

enable_qr_code

Boolean

false:QRコード設定モードをOFF

true: QRコード設定モードをON

デフォルト値: false

enable_track_box

Boolean

false:track feedback box を無効にする

true: rack feedback box を有効にする

デフォルト値: true

liveness_thresh

Float

生体認証しきい値

データの取得範囲 0~1

デフォルト値: 0.98

recognition_thresh

Float

認証しきい値

データの取得範囲 0~1

デフォルト値: 0.90

verify_thresh

float

1:1 認証しきい値

データの取得範囲 0~1

デフォルト値: 0.90

recognition_interval

Int

同じ顔追跡IDを連続認証する際の時間間隔

デフォルト値: 5

report_interval

Int

データベースに同じユーザーIDを継続してレポートする際の時間間隔

デフォルト値: 5

max_face_cnt

Int

顔追尾可能な顔最大数

デフォルト値: 4

face_size

Int

フィルタできる顔ピクセルの最大値

デフォルト値: 10

enable_feature_export

boolean

false:featureを返送しない

true:featureを返送する

デフォルト値:false

enable_image_export

boolean

false: ライブ画像を返送しない

true:ライブ画像を返送する

デフォルト値:true

ae_mode

int

0:モジュールに備えられたAE機能

1:個人で開発したAE機能

デフォルト値:0

ae_flicker_freq

int

AEアンチフリッカー周波数

0:アンチフリッカーをON

50:50HzでアンチフリッカーをON

60:60HzでアンチフリッカーをON

デフォルト値:0

enable_safety_hat

Boolean

false:safety_hat検知を無効にする

true:safety_hat検知を有効にする

デフォルト値: false

enable_mask_sign

Boolean

false:マスク検知を無効にする

true:マスク検知を有効にする

デフォルト値: false

Last updated