web-dev-qa-db-ja.com

opencv 3.0にcontribモジュールがありませんか?

OpenCV3.0ベータ版を使用しています。

CreateLBPHFaceRecognizer();を使用して顔認識機能を作成しようとしました。クラスとして、

   **Ptr <FaceRecognizer> model =  createLBPHFaceRecognizer();**

私が持っているエラーは

   **error: 'createLBPHFaceRecognizer' was not declared in this scope**

調査したところ、以前のバージョンのOpenCVのopencv2のcontribモジュール(opencv2/contrib/contrib.hpp)にクラスが存在することがわかりました。

ただし、このモジュールはopencv3.0ベータ版では使用できません。では、opencv 3.0で定義されているレコグナイザークラスはどこにありますか?

それらが定義されていない場合、既存のモジュールに加えてこのモジュールを追加するにはどうすればよいですか?

9

opencv_contrib リポジトリをダウンロードしてビルドする必要があります。

cmakeを実行した後、make、make install、

#include <opencv2/face.hpp>

// note the additional namespace:    
cv::Ptr <cv::face::FaceRecognizer> model = cv::face::createLBPHFaceRecognizer();
// proceed as usual
9
berak

私のDebianインストールで

$ dpkg -l libopencv-contrib-dev
ii  libopencv-contrib-dev:AMD64 3.2.0+dfsg-6 AMD64        development files for libopencv-contrib3.2

インクルードを追加するだけで、提供されたモジュールを使用できます。例えば:

#include <opencv2/opencv.hpp>
#include <opencv2/face.hpp>
auto model = cv::face::createLBPHFaceRecognizer();
0
Vorac

から https://github.com/opencv/opencv_contrib

  1. Cmake-guiを開始します
  2. Opencvソースコードフォルダーとバイナリーが構築されるフォルダーを選択します(インターフェースの上位2つの形式)
  3. 設定ボタンを押します。中央インターフェースにすべてのopencvビルドパラメーターが表示されます
  4. パラメータを参照し、OPENCV_EXTRA_MODULES_PATHというフォームを探します(検索フォームを使用してすばやくフォーカスします)
  5. 参照ボタンを使用して、/ modules値への適切なパス名を使用して、このOPENCV_EXTRA_MODULES_PATHを完了します。
  6. 構成ボタンを押してから生成ボタンを押します(最初は、使用するmakefileスタイルを尋ねられます)
  7. 選択した方法でopencvコアをビルドします(ステップ6でUnix makfileを選択した場合はmakeおよびmake install)

実行するには、contribモジュールへのリンカーフラグを追加して、コード/ IDEで使用する必要があります。たとえば、arucoモジュールを使用するには、「-lopencv_aruco」フラグが追加されます。

0
Mahyar