Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
34
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

VisualStudio2019 + OpenCV 導入

環境

  • Windows 10 pro
  • Microsoft Visual Studio Community 2019 ver 16.3.2
  • OpenCV 4.1.1

手順

1. VisualStudioのインストール

1.1. (公式)からダウンロードする。
Inkedキャプチャ1_LI.jpg
Inkedキャプチャ2_LI.jpg

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

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

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

2. OpenCVの入手

2.1. (公式)からダウンロードする。
キャプチャ2.PNG

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

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

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

コントロールパネル -> システムとセキュリティ -> システム -> システムの詳細設定 -> 環境変数
Inkedキャプチャ3_LI.jpg

システム環境変数の"Path"を選択して"編集"
キャプチャ4.PNG

"新規" を押して "C:\opencv\build\x64\vc15\bin" を追加
"C:\opencv\" の部分は2.2.で展開した場所(およびフォルダ名)に応じて読み替える。
キャプチャ5.PNG

3. VisualStudioでプロジェクトの設定

3.1. 新規プロジェクトの作成
VisualStudioを立ち上げ、"新しいプロジェクトの作成"を選択する
Inkedキャプチャ6_LI.jpg

プロジェクト名に適当名前を付ける(今回は"opencv_test")。場所はプロジェクトファイルの設置場所なので必要に応じて変更する。
キャプチャ8.PNG

3.2. プロパティの設定
shift + F4 でプロパティ画面を開く。「構成」を"全ての構成"に、「プラットフォーム」を"x64"にする。
(上部メニューバーより「表示->プロパティページ」「プロジェクト->プロパティ」「デバッグ->opencv_testのプロパティ」、ソリューションエクスプローラーからopencv_testを右クリック->プロパティでも開くことができる。)
Inkedキャプチャ9_LI.jpg

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

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

Inkedキャプチャ10_LI.jpg

Inkedキャプチャ11_LI.jpg

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

参考記事

OpenCV 4.1.1をVisual Studio 2019から使用する時の手順

余談

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

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
34
Help us understand the problem. What are the problem?