[Visual Studio2017]OpenCV3.4.2の導入について


OpenCVの開発環境準備に躓いたので、忘れないようにと個人的なメモです。
誰かの役に立てば幸いです。

環境

OS : Windows10(64bit)
IDE : Visual studio community 2017(v141)
OpenCV : 3.4.2

とりあえず環境設定

方法としては他の方を参考させてもらいました。(参考文献欄に後述)←そちらのほうが断然わかりやすい

1.OpenCVを入れる。

-1. opencvのインストーラーをダウンロード

https://github.com/opencv/opencv/releases にて

https://github.com/opencv/opencv/releases/download/3.4.2/opencv-3.4.2-vc14_vc15.exe (opencv3.4.2)をダウンロードする。

-2. installする

ダウンロードしたもの(.exe)を実行すると以下のようなものが立ち上がる。
opencvのファイルを展開してくれるもの。

ので任意のところにopencvのフォルダを展開する。
今回はCドライブ直下に置くことにする。

2.PATH(環境変数)を通す。

コントロールパネル>システムとセキュリティ>システム>システムの詳細設定>環境変数>PATH
に以下を追加する。

C:\opencv\build\x64\vc15\bin

3.Visual Studioの設定

まずは適当に空のプロジェクト、コンソールアプリケーションを作成する。
プロジェクトのプロパティで以下を設定する
以下設定例(opencvフォルダはCドライブ直下にある。)

パスの種類 設定に追加するパス 説明
インクルードパス C:\opencv\build\include OpenCVのヘッダファイル(.h or .hpp)を検索する対象フォルダへのパス
ライブラリパス C:\opencv\build\x64\vc15\lib ソースコード中にリンク指定した静的ライブラリ(.lib)を探すためのパス

最後に
opencv_world341.libも設定しておく。

サンプル

以下を動かして動けばおわり。
なお、自分の場合はエラーが出たので終われない模様。

OpenCV_sample.cpp
#include <opencv2/opencv.hpp>

int main(void)
{
    cv::Mat image;
    image = cv::imread("C:/opencv/sources/samples/data/lena.jpg");

    if (image.empty() == true) {
        return 0;
    }

    cv::imshow("画像", image);
    cv::waitKey();

    return 0;
}

LINK2019やE1696などのエラーが出る。

設定がうまくいっていないとエラーが出る
ざっくりとそのエラーの説明。

エラー名 その内容
LINK2019 includeやlibraryなどリンカー設定がうまくいってない?
E1696 ヘッダーファイルが開けない?ほぼ上と同じ

エラー改善

前述した設定について、$(IncludePath)などを消してしまうと、C++の標準ライブラリが読み込めなくなる?らしい
ので消してはいけない。

opencv_world341.libについても同様に追記という形で設定することを間違えない。

参考文献

[OpenCV 3.4.2をVisual Studio 2017から使用する時の手順]
https://qiita.com/h-adachi/items/aad3401b8900438b2acd
[Visual Studio Community 2017にOpenCV 3.4.1を入れた話]
https://qiita.com/mental_hell/items/4a19ae450f5909d099ed#_reference-9638d0835fc4b07897e5