2

私のプロジェクトは、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 変数とポインターに関係している可能性があります。これを行う方法がよくわかりません。

どんな助けでも感謝します

4

0 に答える 0