2017-06-22 16 views
0

にフィッシャーの顔認識をロードするとき、私はXcodeプロジェクトでのOpenCVとopencv_contrib枠組みを輸入してきた、と私のObjective-C++ファイルで、私は顔分類器、その後、フィッシャーの顔認識をロード:OpenCVのエラーXcodeの8

// set up classifier, recognizer, and webcam 
-(void) setupAnalyzer:(NSString *)faceCascadeName :(NSString *)fisherDatasetName 
{ 
    // load face classifier 
    cout << "loading face classifier..." << endl; 
    String faceCascadeNameString = string([faceCascadeName UTF8String]); 
    faceCascade.load(faceCascadeNameString); 

    // load face recognizer 
    cout << "loading face recognizer..." << endl; 
    fishface = createFisherFaceRecognizer(); 
    String fisherDatasetNameString = string([fisherDatasetName UTF8String]); 
    fishface->load(fisherDatasetNameString); 
} 

私はSwiftからこの関数を呼び出すと、自分のプロジェクトにあるxmlファイルで顔分類器がうまく読み込まれているようです。しかし、私は私のプロジェクトで別のXMLファイルを使用してフィッシャー顔認識をロードしようとすると、Xcodeのは、このエラーを示しています

OpenCV Error: Unspecified error (File can’t be opened for reading!) in load, file ~/opencv/modules/face/src/facerec.cpp, line 61

libc++abi.dylib: terminating with uncaught exception of type cv::Exception: ~/opencv/modules/face/src/facerec.cpp:61: error: (-2) File can’t be opened for reading! in function load

私はさまざまな方法でOpenCVの枠組みを再構築しようとしたと私は同じエラーを取得してください!

まず、私のプログラムがプロジェクトに含まれていないソースコード(コンピュータの別のディレクトリにあるfacerec.cppを探しています)を探している理由が混乱しています。また、なぜカスケード分類器はうまくロードされますか?これは、opencv_contribモジュールをビルドしたのと同じ問題だと考えています。なぜなら、facecategoryはopencv_contribから来ているからです。しかし、私はopencv_contribを再構築しようとしましたが、私はまだこのOpenCVエラーを受け取ります。

ご協力いただければ幸いです!

[UPDATE] contribモジュールのビルドには問題ありません。私はXcodeにモジュールを手動で組み込んだので、今はfacerec.cppのプロジェクト内を見ていますが、xmlファイルを開いて読み込むことができません。

答えて

0

First of all, I'm confused why the program is looking to source code that isn't contained in the project (it's looking for facerec.cpp in another directory on my computer).

ファイルを検索しません。エラーが発生した場所を示します。ライブラリはマシン上にビルドされ、デバッグ情報を持っているので、エラーが発生したソースファイルと行番号を指摘できます。

libc++abi.dylib: terminating with uncaught exception of type cv::Exception: ~/opencv/modules/face/src/facerec.cpp:61: error: (-2) File can’t be opened for reading! in function load

このメッセージは、ファイルfacerec.cppの61行目に例外が生成されたことを示しています。あなたのデータが読めるようになっているかどうかを確認する必要があります。