私のプロジェクトは、Android 用の顔認識 (検出ではない) アプリを作成することです。私の計画は、JavaCV を contrib ライブラリの顔認識エンジンと共に使用することです。ただし、レコグナイザーをトレーニングすると、アプリが次のエラーでクラッシュします。
致命的なシグナル 11 (SIGSEGV) 0xdeadbaad (コード = 1)。エラー ログは次の場所にあります。
これを行うために使用しているコードは次のとおりです。
MatVector images;
CvArr labelsCV;
final int numberOfImages = 20;
File faceDir = new File("/sdcard/FaceDB");
images = new MatVector(numberOfImages);
ArrayList<Integer> labels = new ArrayList<Integer>();
IntPointer iPoint = new IntPointer();
CvArr image;
// Load an image:
image = cvLoadImage(faceDir + "/s1/1.pgm");
// And put it into the MatVector:
images.put(0, image);
// and put the label in
labels.add(0);
for (Integer i: labels){
iPoint.put(i);
}
labelsCV = new CvArr(iPoint);
FaceRecognizerPtr model = createFisherFaceRecognizer(0,1000);
// Then train it. See how I call get(), to get the FaceRecognizer inside the FaceRecognizerPtr:
model.get().train(images, labelsCV);
よくわかりませんが、labelsCV 変数とポインターに関係している可能性があります。これを行う方法がよくわかりません。
どんな助けでも感謝します