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

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

Visual Studio 2015 CommunityでOpenCVを使う (C++)

More than 3 years have passed since last update.

Visual Studio 2015 CommunityでOpenCVを使う (C++)

OpenCVの環境構築って時間が掛かりますよね。
ライブラリを作る側は一からビルドするのが楽しいですが、
使う側にすれば大変です。

Visual Studioの拡張機能であるNuGetにより、
簡単にOpenCVをインストールし利用する方法を記録した(はず)。

ただし、Visual Studio2015と2013の2つインストールが必要になるかも...かえって面倒?

IDEは「VisualStudio2015」ですが、
プラットフォームツールセットを「VisualStudio2013」に
変更してしまいます。

1. NuGet Package Manager for Visual Studio の更新

  1. Visual Studioを起動し、「ツール(T)」の「拡張機能と更新プログラム」から「更新プログラムのリスト」を選択する。
  2. Visual Studio ギャラリー」 から「NuGet Package Manager for Visual Studio」の「更新」ボタンをクリックする。
  3. Visual Studioを再起動する。

2. プロジェクトにOpenCVのパッケージを追加

  1. C++のプロジェクトを作成
  2. 作成したプロジェクトで「ツール(T)」の「NuGetパッケージマネージャ」をクリック
  3. OpenCV」で検索し、一番上にあるOpenCVを選択し「インストール」をクリック

OpenCVのバージョンは本記事を編集時は
2.4.10をインストールしましたが、他のOpenCVのパッケージを
選択すれば、Ver3.0移行も存在するようです。

3. OpenCVのパッケージの設定

NuGetを利用したOpenCVの利用方法では、v150は対応していなかったため、
プラットフォームツールセットをv120に変更して利用する。

変更方法

  1. 作成したプロジェクトのプロパティページに行く
  2. 構成ページの全般にあるプラットフォームツールセットを
    Visual Studio 2013 (v120)」へ変更

Visual Studio 2013 (v120)がインストールされていないと表示されるとき

以下のサイトから 「Visual Studio Express 2013」 をインストール
Microsoft Visual Studio Express 2013 for Windows Desktop Update 4

実行確認

試しに以下のソースをビルドしで実行してみる。
緑色の正方形に赤色斜線が表示されたウィンドウが表示されるはずです。

sauce.cpp
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>

int main(int argc, const char* argv[])
{
    // Create Image
    cv::Mat_<cv::Vec3b> greenImg(300, 300, cv::Vec3b(0, 200, 0));

    // Draw Line
    for (int i = 0; i<greenImg.cols; ++i)
        greenImg(i, i) = cv::Vec3b(0, 0, 255);

    // Show Window
    cv::namedWindow("greenImg", cv::WINDOW_AUTOSIZE);
    cv::imshow("greenImg", greenImg);

    // PressKey Close
    cv::waitKey(0);
    cv::destroyAllWindows();

    return 0;
}
konta220
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