OpenCV のリンカエラー 2019 facemarkを使って顔の特徴点を抽出するプログラム


Visual Studio2017で特徴点を抽出するプログラムを作成しているのですがリンカエラーでうまいこと行きません。  
ソースコードは [Facemark : Facial Landmark Detection using
OpenCV](https://www.learnopencv.com/facemark-facial-landmark-detection-using-
opencv/) にあるものを使用しています。ただし、少しだけ変えていますがおおむね同じです。

**変更点**

変更前: `Ptr<Facemark>facemark= FacemarkLBF::create();`  
変更後: `Ptr<Facemark>facemark= createFacemarkLBF();`

しかし、ビルドしても以下のようなエラーが出てうまくいきません。  
  
"エラー LNK2019 未解決の外部シンボル "struct cv::Ptr __cdecl
cv::face::createFacemarkLBF(void)"
(?createFacemarkLBF@face@cv@@YA?AU?$Ptr@VFacemark@face@cv@@@2@XZ) が関数 main
で参照されました。"  
  
ライブラリファイルを追加したり、OpenCVを一度入れ直したりしましたが駄目でした。  
ちなみに、変更する前でも似たよう部分でリンカエラーが出ます。

OpenCVは4.1.1を使用しています。  
どのようにすれば解決できるか教えてください。




k
systemさんの調査によるとcontribパッケージに含まれており、配布されているバイナリには含まれていないとのこと。そしてcontribの自前でのビルド方法についてコメントされていますが…もっと簡単にビルドできます。

Visual
Studioでは[vcpkg](https://github.com/microsoft/vcpkg)というパッケージマネージャーが提供されています。vcpkgではOpenCVも提供されています。

## vcpkgの導入方法

Visual Studioおよびgitが使用可能なコマンドプロンプトで

[code]

    git clone https://github.com/Microsoft/vcpkg.git
    cd vcpkg
    bootstrap-vcpkg.bat
    vcpkg integrate install
    
[/code]

まで実行するとvcpkgが導入され、vcpkgでインストールされたパッケージをプロジェクトから参照できます。

## OpenCVの導入方法

[code]

    vcpkg install opencv[world,contrib]
    
[/code]

でOpenCVのworld機能とcontrib機能をビルド・インストールできます。




k
systemさんの調査によるとcontribパッケージに含まれており、配布されているバイナリには含まれていないとのこと。そしてcontribの自前でのビルド方法についてコメントされていますが…もっと簡単にビルドできます。

Visual
Studioでは[vcpkg](https://github.com/microsoft/vcpkg)というパッケージマネージャーが提供されています。vcpkgではOpenCVも提供されています。

## vcpkgの導入方法

Visual Studioおよびgitが使用可能なコマンドプロンプトで

[code]

    git clone https://github.com/Microsoft/vcpkg.git
    cd vcpkg
    bootstrap-vcpkg.bat
    vcpkg integrate install
    
[/code]

まで実行するとvcpkgが導入され、vcpkgでインストールされたパッケージをプロジェクトから参照できます。

## OpenCVの導入方法

[code]

    vcpkg install opencv[world,contrib]
    
[/code]

でOpenCVのworld機能とcontrib機能をビルド・インストールできます。

