顔認識の初期化
インストール後には良いの使用を登録開始することができます。私はここで使用vs2015コミュニティ版用のMicrosoft .NET Framework 4.5、開発ツールの開発環境のC / Sバージョンです。
まず、DLLの参照を追加します。
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]を 委任 ボイド FaceCallback(のIntPtrバイト、INT サイズ、文字列RES)を、 // SDK初始化 [DLLIMPORT(" BaiduFaceApi.dll "、エントリーポイント= " sdk_init "、項目CharSet = CharSet.Ansi 、CallingConvention = CallingConvention.Cdecl)] プライベート 静的 にextern int型 sdk_init(ブールid_card)。 // 是否授权 [DLLIMPORT(" BaiduFaceApi.dll "、エントリーポイント= " is_auth "、項目CharSet = CharSet.Ansi 、CallingConvention = CallingConvention.Cdecl)] プライベート 静的 にextern BOOL is_auth()。 // 获取设备指纹 [DLLIMPORT(" BaiduFaceApi.dll "、エントリーポイント= " get_device_id "、項目CharSet = CharSet.Ansi 、CallingConvention = CallingConvention.Cdecl)] プライベート 静的 にextern のIntPtr get_device_id()。 // SDK销毁 [DLLIMPORT(" BaiduFaceApi.dll "、エントリーポイント= " sdk_destroy "、のCharSet = CharSet.Ansi 、CallingConvention = CallingConvention.Cdecl)] プライベート 静的 にextern 無効sdk_destroy(); // デフォルトのコンピュータ自身のカメラは、デバイスがあれば、0かもしれUSBの外付けカメラ、デバイスが1であってもよい [DLLIMPORT(" BaiduFaceApi.dll "、エントリーポイント= " usb_track_face_info "、項目CharSet = CharSet.Ansi 、CallingConvention = CallingConvention.Cdecl)] プライベート 静的 にexternのIntPtr usb_track_face_info(FaceCallbackコールバック、INT DEV); // 顔追跡情報をクリアする [DLLIMPORT(" BaiduFaceApi.dll "、エントリーポイント= " clear_tracked_faces "、項目CharSet = CharSet.Ansi 、CallingConvention = CallingConvention.Cdecl)] プライベート 静的 extern ボイドclear_tracked_faces(); // テスト指紋取得装置DEVICE_ID パブリック 静的 ボイドtest_get_device_id() { のIntPtr PTR =get_device_id(); 文字列 BUF = Marshal.PtrToStringAnsi(PTR)。 Console.WriteLineを(" デバイスIDがある:" + BUF)。 }
プライベート ボイド FaceScan_Load(オブジェクト送信者のEventArgs E) { // デバイス初期化 (sdk_init falseには); //が活性化される BOOL authed = is_auth(); IF(authed)// アクティブ正常 { // 指紋デバイス取得 test_get_device_idを(); } 他 { MessageBox.Show(「デバイスが起動されない」); } System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls= falseに; // スレッドスキャン面から他 = TH 新しい新しいスレッド(test_face_track); th.IsBackground = trueに、 th.Start(); }
メインは、[OK]を上の他の文書に基づいてメソッドを呼び出して、初期化し、これらの2つの方法がトスを比較活性化することである、ドキュメンテーション上記Baiduのクラウド開発方法が非常に詳述されています。
sdk_init(偽)リターン-1失敗、0の成功のために。
初めてこのステップが最後ではありません、このような初期化の遅れなど、多くの問題が、発生します。
また、他の問題を表示しても、以下のデバッグ中のdll場合は、すべてのDLLのデバッグにデモコピーにBaiduのだろう比較的粗い解像度は、そこにある、あなたは、確かにいくつかの役に立たないのdllがあるだろうことができます私は見ていません。
顔認識デモので、Baiduの顔認識機能ライブラリがローカルにあるため、何のリソースが、ここでは、おそらくオフライン(個人の推測)のために、地元の図書館に備えていませんその後、プロンプトが表示され、リコール顔のリソースは、プロジェクトのbinディレクトリにコピーするデバッグの下に配置する必要がありますフォルダデシベルを必要とします。
もちろん、あなたがデータベースにアクセスすることができ、データベースは、sqlitestudio、次sqlitestudioによりここにライン上で選択したフォルダ内の、その後のdbファイルをアクセスすることができます。
他の問題のエラーがある場合は、2つのログファイルがデバッグフォルダ内にある、ライン上のエラーメッセージを探しに行きます