LoginSignup
24
22

More than 5 years have passed since last update.

Visual Studio 2017(Windows10)でOpenCV3.4.1を利用できるようになるまで

Posted at

目標

Visual Studio 2017(Windows10)で記事執筆時点の最新版OpenCV3.4.1をC++で利用できるようにすること

まえがき

いくつかのサイトを参考にして,OpenCVをインストールしてみたけど,なぜかできないことが多くあって半ばキレながら思索したことのメモです.
無料で使えるC++に対応したIDEのVisual Studio 2017 Communityを利用します.
(WindowsでC++が使えてOpenCVを組み込めるIDEはVisual Studioくらいしかない?)

How to

Visual Studio 2017のインストール

Visual Studio 2017からVisualStudioInstallerを経由してインストールしないといけないみたいなので,逆らわずに正直に以下のリンクからダウンロードする.
(といっても,選択できるのはCommunity 2017でそのままインストールが始まるかと思えば,先にInstallerがインストールされる仕組み)
Visual Studio 2017 Communityのダウンロード

ダウンロードできればインストーラを起動して,しばらく待つと以下のようなセットアップ画面が出てくると思うので,「C++によるデスクトップ開発」のチェックボックスをクリックする.
(この画面は,すでにインストールされているので変更していますになっています)1.png

おそらく何もいじらなくてもいいはずです.

OpenCV3.4.1のダウンロード・インストール

OpenCV3.4.1では,これまで必要だった?コンパイルが必要なくなり,パッケージにWindows向けにビルドされたフォルダが生成されているので今回はそれを利用します.
GitHubからダウンロードしましょう.
OpenCV3.4.1のダウンロード
の「opencv-3.4.1-vc14_vc15.exe」をダウンロードして,任意の場所に解凍(インストール)してください.
以下の説明では C:¥opencv に解凍したものとします.パスはインストール先の環境に合わせて適宜読み替えてください.

環境変数の設定

C:¥opencv¥build¥x64¥vc15¥bin を環境変数のPATHに追加してください.

Visual Stusio 2017の設定

ビルドする前提として,

アクティブソリューション構成 アクティブソリューション プラットフォーム
Debug x64

とします.
このアクティブソリューション構成とアクティブソリューション プラットフォームって何かと思うかもしれませんが,
2.png
のビルド(B)の下にある選択ボックスにある値のことです.

Visual StudioのReleaseおよびx64と指定したときの設定を行うために,プロジェクトを新規に作成します.プロジェクト名は適当でいいです.

作成しmain.cppのファイルが表示されている状態になったら,メニューバーの「表示」→「その他のウインドウ」→「プロパティ マネージャー」を選択します.
3.png

以下のようなウインドウが表示されるので,
4.png
「Debug|x64」の「Microsoft.Cpp.x64.user」をダブルクリックしてプロパティページを表示させます.
5.png

そして,以下の設定を行います.

「共通プロパティ」→「VC++ディレクトリ」

変数
インクルード ディレクトリ C:¥opencv¥build¥include
ライブラリ ディレクトリ C:¥opencv¥build¥x64¥vc15¥lib

「共通プロパティ」→「C/C++」→「全般」

変数
追加のインクルード ディレクトリ C:¥opencv¥build¥include

「共通プロパティ」→「リンカー」→「全般」

変数
追加のライブラリ ディレクトリ C:¥opencv¥build¥x64¥vc15¥lib

「共通プロパティ」→「リンカー」→「入力」

変数
追加の依存ファイル opencv_world341d.lib

以上の設定ができれば,Visual Studioを終了(終了時に「ユーザープロパティシートの変更を保存しますか。」と表示されたら「はい」を選択)して,もう一度起動させます.

サンプルプログラム

プロジェクト名.cppに以下を追記する.

プロジェクト名.cpp
#include <iostream>
#include <opencv2/opencv.hpp>

using namespace cv;

int main(int argc, char *argv[])
{
    Mat im(Size(300, 300), CV_8UC3, Scalar(0, 255, 255));
    imshow("Show", im);

    waitKey(0);

    return 0;
}

「ローカル Windows デバッカー」をクリックして黄色のウィンドウが表示されればOK!
おつかれさまでした!

最後に

なかなかVisual Studio 2017でOpenCVが使えるようになるまで時間がかかりました.
特に,最後の 「共通プロパティ」→「リンカー」→「入力」追加の依存ファイル 設定でハマっていました.

24
22
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24
22