VisualStudio2019 + OpenCV 導入

## 環境
- Windows 10 pro
- Microsoft Visual Studio Community 2019   ver 16.3.2
- OpenCV 4.1.1

## 手順
### 1. VisualStudioのインストール
1.1. ([公式](https://docs.microsoft.com/ja-jp/visualstudio/install/install-visual-studio))からダウンロードする。
![Inkedキャプチャ1_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256627/2a986998-46d7-662c-ea68-b0fc9d720210.jpeg)
![Inkedキャプチャ2_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256627/7f6c74b0-b0b3-8b62-b0e6-f39c47845f81.jpeg)

1.2. DLした vs_community_(VERSION).exe を実行

1.3. 指示に従ってインストールを行う。

今回はC++での開発をするため、「C++によるデスクトップ開発」のみを選択してインストール


### 2. OpenCVの入手
2.1. ([公式](https://opencv.org/opencv-4-1-1/))からダウンロードする。
![キャプチャ2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256627/f22de43e-a764-19fb-86db-259066d0c2ba.png)

2.2. DLした opencv_(VERSION).exe を実行

ファイルを展開する場所を聞かれるので、わかりやすい場所を指定する。今回はCドライブ直下とする。

2.3. 環境変数の設定を行う。

コントロールパネル -> システムとセキュリティ -> システム -> システムの詳細設定 -> 環境変数
![Inkedキャプチャ3_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256627/835532cd-69ae-0ba2-f072-bea6919661e0.jpeg)

システム環境変数の"Path"を選択して"編集"
![キャプチャ4.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256627/8ade3375-27f3-f109-9d0d-39291f9d86b8.png)

"新規" を押して "C:\opencv\build\x64\vc15\bin" を追加
"C:\opencv\" の部分は2.2.で展開した場所(およびフォルダ名)に応じて読み替える。
![キャプチャ5.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256627/6ae2c975-8681-387e-a8ec-22cc7e95171d.png)

### 3. VisualStudioでプロジェクトの設定
3.1. 新規プロジェクトの作成
VisualStudioを立ち上げ、"新しいプロジェクトの作成"を選択する
![Inkedキャプチャ6_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256627/771aa7b3-7897-43cf-502f-66e2b4db1043.jpeg)

プロジェクト名に適当名前を付ける(今回は"opencv_test")。場所はプロジェクトファイルの設置場所なので必要に応じて変更する。
![キャプチャ8.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256627/054b8e48-5447-6905-1879-8bdc4f49b802.png)

3.2. プロパティの設定
shift + F4 でプロパティ画面を開く。「構成」を"全ての構成"に、「プラットフォーム」を"x64"にする。
(上部メニューバーより「表示->プロパティページ」「プロジェクト->プロパティ」「デバッグ->opencv_testのプロパティ」、ソリューションエクスプローラーからopencv_testを右クリック->プロパティでも開くことができる。)
![Inkedキャプチャ9_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256627/fb7a8750-c4e1-c1f7-1565-4ecf73090dc0.jpeg)

以下の通り設定を**追加**する(既存の設定を消して上書きしないよう注意すること)。書き方はセミコロン区切り(画像を参照)。

|項目|設定|
|---|---|
|VC++ディレクトリ -> インクルードディレクトリ|C:\opencv\build\include|
|VC++ディレクトリ -> ライブラリディレクトリ|C:\opencv\build\x64\vc15\lib|
|リンカー -> 入力 -> 追加の依存ファイル|opencv_world411d.lib, および opencv_world411.lib|


![Inkedキャプチャ10_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256627/2749dac0-3b83-d15d-3be5-ca76537af79c.jpeg)

![Inkedキャプチャ11_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256627/bc11c6ca-a77b-1b87-77b0-b0300aa40384.jpeg)


3.3. サンプルプログラムでのテスト
最後にサンプルを動かして動作を確認する。
Ctrl + Shift + A (あるいはメニュー:プロジェクト->新しい項目の追加)でソースファイルを追加する。cppファイルを選択する。
「[OpenCV 4.1.1をVisual Studio 2019から使用する時の手順](https://qiita.com/h-adachi/items/aad3401b8900438b2acd)」から借用してサンプルコードをmain.cppに記述する。
画面上部のツールバーで "Debug" "x64" が選択されていることを確認し、 "ローカル　Windows デバッガー" をクリックでビルド・実行する。
エラーが出ず、小さなウィンドウが画面上に表示されたら成功。

## 参考記事
[OpenCV 4.1.1をVisual Studio 2019から使用する時の手順](https://qiita.com/h-adachi/items/aad3401b8900438b2acd)

## 余談
普段JetBrain社のIDEを使用していたため今回もCLionを使おうと考えた。
しかしOpenCVの導入に当たって、ネット上の資料がほとんどVisualStudio環境のものばかりで大変苦戦した(挫折した)。

それもそのはずで、公式が配布しているビルド済みのパッケージはVisualStudio向けのものであり、CLionで環境を作るには手元でごにょごにょとビルドしないといけない。
そのようなレイヤーの低い(?)部分の知識が必要であり、gcc, make, cmake, MinGW, MSYS など、何がなにやらわからぬ者たちを相手にせねばならない。
そもそもなんでIDEの違いで環境構築が違ってくるの？と疑問に思うレベルの私なりに無駄に粘ってみたが、結局目標の達成はできず、多くの時間を浪費することとなった。
相応の知識がない場合には、資料が多く主流である方法に従うのが良いことを再確認した。