OpenCVとC++とVisualStudioで顔認識してみる

今回はOpenCVとC++とVisualStudioで顔認識を試してみましたのでその方法についてご紹介します。
ソースは他のサイトを参考にしたのでほぼコピペです。

ただ設定でとてもつまずいてしまったので備忘録も兼ねて記事を書きました。

今回の構成

・Windows7 64bit
・VisualStudio2017
・OpenCV4.0.1
・C++

C++のプロジェクトを用意

まずはVisualStudioを起動して「新規作成」→「プロジェクト」を選択します。

Visual C++の「空のプロジェクト」を選択し、プロジェクト名を入力してOKを押します。今回のプロジェクト名は「OpenCV_faceImage_Lena」としておきます。

プロジェクトができたらソリューションエクスプローラーの「ソースファイル」を右クリックして「新しい項目の追加」を選択します。「C++ファイル」を選択してファイル名を設定します。今回のファイル名は「OpenCV_faceImage_Lena.cpp」としておきます。「追加」を押下します。

ソースの用意

次に以下のソースをまるっと「OpenCV_faceImage_Lena.cpp」に貼り付けます。パスの部分は自分の環境に合わせて設定してみてください。

プロパティの設定

プロパティの設定をしていきます。プロパティマネージャーの「OpenCV_faceImage_Lena」をダブルクリックします。

以下の項目をそれぞれ設定していきます。

①プログラムを実行するときの「構成」と「プラットフォーム」を選択します。今回は「Release」と「x64」を選択します。私は64bitを使用しているのでx64を選んでいます。この設定は忘れやすいのでご注意を。
②「C/C++」→「全般」→「追加のインストールディレクトリ」に「C:\OpenCV4.0.1\build\include;」を設定
③「リンカー」→「全般」→「追加のライブラリディレクトリ」に「C:\OpenCV4.0.1\build\x64\vc14\lib;」を設定
④「リンカー」→「入力」→「追加の依存ファイル」に「opencv_world401.lib;」を追加

プログラムの実行

プルダウンで「Release」と「x64」を選択して実行します。このプルダウンと先程のプロパティの設定が合っていないとビルドエラーが発生します。

「Lena」さんの画像を読み込んで認識することができました。

まとめ

ソースはほぼコピペでしたが、構成やOpenCVのバージョンが異なるとビルドがうまくいかなくて苦労しました。またプロパティやパスが間違えやすいポイントなので、それらをしっかりと行えば動くようになりました。

OpenCVでは顔認識以外にもいろいろとできそうなので他のことも挑戦してみたいです。