1

私はubuntu12.04を使用しており、opencv 2.4をインストールしました(実際には、ROSをインストールし、opencvがインストールされます)このデモを実行しようとすると、次のエラーが発生します:

usama@ubuntu:~/Desktop/opencv/Advanced/Face Recognition$ g++ `pkg-config opencv --cflags`     face_recog.cpp  -o face_recog `pkg-config opencv --libs` 
face_recog.cpp: In function ‘int main(int, const char**)’:
face_recog.cpp:119:30: error: ‘class cv::FaceRecognizer’ has no member named ‘getMat’
face_recog.cpp:121:20: error: ‘class cv::FaceRecognizer’ has no member named ‘getMat’
facerecog.cpp:123:23: error: ‘class cv::FaceRecognizer’ has no member named ‘getMat’

任意のアイデア、どうすればこのエラーを取り除くことができますか?opencvを新しいバージョンにアップグレードする必要がありますか?

4

1 に答える 1

3

OpenCV 2.4.2以降でのみ、 cv::FaceRecognizerのようにcv::Algorithm関数を使用できます。(公式の)OpenCV2.4.0およびOpenCV2.4.1のcv:: FaceRecognizerは、 cv :: Algorithmに基づいていなかったため、OpenCV2.4.2ドキュメントの例はOpenCV2.4.0/では機能しません。 2.4.1リリース。getMat(...)

そうです、OpenCV2.4.2にアップデートすることをお勧めします。数日前に正式にリリースされました。http://www.opencv.orgの新しいユーザーページを参照してください

OpenCVを更新できない場合は、OpenCV 2.4.0/2.4.1互換のデモを試すことができます。

または、libfacerecを試してみてください。これは、OpenCV2.4.2実装と同じインターフェイスを備えています。

それは本当にあなたのOpenCVバージョンに依存します。OpenCV 2.3を使用している場合は、libfacerecのバージョン0.04を試してください。ただし、すでにOpenCV 2.4.2を使用していて問題が発生した場合は、公式のOpenCVバグトラッカーでバグを発行してください。

気づかなかった場合に備えて。OpenCV関連の質問をすることもできます:

多くのOpenCVエキスパートがいるところ。

于 2012-07-07T11:46:56.623 に答える