アイティ・コネクト株式会社
2018.02.07
Java実装による顔登録について
現在、Sotaのカメラではなく事前に撮影した画像による、顔の登録機能を実装しようとしているのですが、
画像からの顔登録が上手くできません。
具体的には以下のようなコードで、画像からモノクロ画像のbyte配列を生成し、addUserwithErrorCodeを実行しているのですが、NullPointerExceptionが発生してしまいます。
直接的な原因は、変数「faceResult」のフィールドfacefutureがnullであることとは思うのですが、このfacefutureがnullになるパターンまで調査することができませんでした。
FaceDetectメソッドにbyte配列を渡した場合、戻り値のfaceResult.facefutureがnullになるのはどのようなパターンが考えられますでしょうか?
必要であればこちらで実装したファイル(VstoneMagicから実行可能です)を添付することも可能です。
どうかご回答のほど、よろしくお願いいたします。
画像からの顔登録が上手くできません。
具体的には以下のようなコードで、画像からモノクロ画像のbyte配列を生成し、addUserwithErrorCodeを実行しているのですが、NullPointerExceptionが発生してしまいます。
- FaceDetectLib faceLib = new FaceDetectLib(10000);
- // imageFilePathには画像のパスが格納されている。
- // 画像(png)ファイルをモノクロ画像のbyte配列に変換する。
- byte[] byteImage=imageToBytes(imageToMono(imageFilePath));
- FaceDetectResult faceResult = GlobalVariable.faceLib.FaceDetect(byteImage);
- // faceResult.facefutureがnullのため、戻り値のfaceUserがnullとなる
- FaceDetectLib.FaceUser faceUser = GlobalVariable.robocam.getUser(faceResult);
- // addUserwithErrorCodeメソッド内でfaceUser.resultにアクセスしてNullPointerExceptionが発生する
- int faceuserAddReturnCode = GlobalVariable.robocam.addUserwithErrorCode(faceUser);
直接的な原因は、変数「faceResult」のフィールドfacefutureがnullであることとは思うのですが、このfacefutureがnullになるパターンまで調査することができませんでした。
FaceDetectメソッドにbyte配列を渡した場合、戻り値のfaceResult.facefutureがnullになるのはどのようなパターンが考えられますでしょうか?
必要であればこちらで実装したファイル(VstoneMagicから実行可能です)を添付することも可能です。
どうかご回答のほど、よろしくお願いいたします。
この質問に回答する