*

Visual Studio 2015でOpenCVを動かすための環境設定

公開日: : 最終更新日:2015/09/09 Microsoft, OpenCV, Visual Studio, 未分類

OpenCVを利用してウェブカメラから画像を取得し、画面上に表示してみました。

コーディング環境は以下となります。

  • OS:Windows 10 64bit
  • 開発ツール:Visual Studio 2015
  • 言語:C++

開発環境は構築されている前提条件とします。

もし、まだ開発環境が構築されていない場合は、以下の記事を参考して構築して下さい。

Windows 10にVisual Studio 2015をインストール

 

作業流れとしては、

  1. OpenCVライブラリをダウンロード
  2. OpenCVライブラリを利用するためにWindows環境変数設定
  3. OpenCVライブラリを利用するためにVisual Studio設定
  4. テストコーディング(Windows 64bitのコンソールアプリケーション)

となります。

さー、始めましょう!

 

OpenCVライブラリをダウロード

OpenCVは公式サイトからダウンロードが可能ですので、以下のリンクをクリックして公式サイトに接続します。

OpenCVは公式サイト

01_0-1_open_cv_download

本記事では、OpenCV 2.4.11を利用しますので、Windows用OpenCV 2.4.11をダウンロードしましょ~!

01_0-2_open_cv_download

01_0-3_open_cv_download

ダウンロードしたファイルを起動するとOpenCVの解凍処理に進みます。任意の場所に解凍してください。

本記事では「C:\dev\lib」配下に解凍します。

01_1_open_cv

解凍が完了すると「opencv」といるフォルダが生成されています。本記事ではバージョンを明確にするためにフォルダ名を「opencv-2.4.11」に変更しました。

01_1-2_open_cv

↓↓↓

01_1-3_open_cv

次は、ソースコード上で静的リンクライブラリの指定が可能にするために「opencv_lib.hpp」を作成しましょ~!

作成場所は「C:\dev\lib\opencv-2.4.11\build\include\opencv2\opencv_lib.hpp」となります。

opencv_lib.hppの内容は「C:\dev\lib\opencv-2.4.11\build\x64\vc12\lib」配下にあるlibファイルを参考して作成します。

 ※「C:\dev\lib\opencv-2.4.11\build\x64\vc12\lib」配下を利用する理由?!

  • opencv-2.4.11ではVisual Studio 2015用ライブライは含まれていないので、Visual Studio 2013用のライブラリ(vc12)を利用します。
  • また、本記事では64bitアプリケーションを作成しますので「C:\dev\lib\opencv-2.4.11\build\x64\vc12」配下のファイルを利用します。

「C:\dev\lib\opencv-2.4.11\build\x64\vc12\lib」配下には「opencv_…d.lib」と「opencv_….lib」がありますが、「opencv_…d.lib」はデバッグ用ライブラリです。

そのため、以下のような内容を作成します。

01_2_open_cv

↓↓↓

01_4_open_cv

 


#if _DEBUG
#pragma comment(lib, "opencv_calib3d2411d.lib")
#pragma comment(lib, "opencv_contrib2411d.lib")
#pragma comment(lib, "opencv_core2411d.lib")
#pragma comment(lib, "opencv_features2d2411d.lib")
#pragma comment(lib, "opencv_flann2411d.lib")
#pragma comment(lib, "opencv_gpu2411d.lib")
#pragma comment(lib, "opencv_highgui2411d.lib")
#pragma comment(lib, "opencv_imgproc2411d.lib")
#pragma comment(lib, "opencv_legacy2411d.lib")
#pragma comment(lib, "opencv_ml2411d.lib")
#pragma comment(lib, "opencv_nonfree2411d.lib")
#pragma comment(lib, "opencv_objdetect2411d.lib")
#pragma comment(lib, "opencv_ocl2411d.lib")
#pragma comment(lib, "opencv_photo2411d.lib")
#pragma comment(lib, "opencv_stitching2411d.lib")
#pragma comment(lib, "opencv_superres2411d.lib")
#pragma comment(lib, "opencv_ts2411d.lib")
#pragma comment(lib, "opencv_video2411d.lib")
#pragma comment(lib, "opencv_videostab2411d.lib")
#else
#pragma comment(lib, "opencv_calib3d2411.lib")
#pragma comment(lib, "opencv_contrib2411.lib")
#pragma comment(lib, "opencv_core2411.lib")
#pragma comment(lib, "opencv_features2d2411.lib")
#pragma comment(lib, "opencv_flann2411.lib")
#pragma comment(lib, "opencv_gpu2411.lib")
#pragma comment(lib, "opencv_highgui2411.lib")
#pragma comment(lib, "opencv_imgproc2411.lib")
#pragma comment(lib, "opencv_legacy2411.lib")
#pragma comment(lib, "opencv_ml2411.lib")
#pragma comment(lib, "opencv_nonfree2411.lib")
#pragma comment(lib, "opencv_objdetect2411.lib")
#pragma comment(lib, "opencv_ocl2411.lib")
#pragma comment(lib, "opencv_photo2411.lib")
#pragma comment(lib, "opencv_stitching2411.lib")
#pragma comment(lib, "opencv_superres2411.lib")
#pragma comment(lib, "opencv_ts2411.lib")
#pragma comment(lib, "opencv_video2411.lib")
#pragma comment(lib, "opencv_videostab2411.lib")
#endif

 

Windows 環境変数設定

opencv_lib.hpp作成が終わったら、Windowsの環境変数のpathにOpenCVの動的ライブラリを登録しましょ~!

動的ライブラリが配置されてる場所は「C:\dev\lib\opencv-2.4.11\build\x64\vc12\bin」ですね。

01_5-1_open_cv

01_5-2_open_cv

 

Visual Studio 2015 設定

Visual Studio 2015では、プロジェクトがOpenCVを認識できるようにOpenCVの「includeフォルダ」と「ライブラリフォルダ」を設定します。

まず、「ファイル>新規作成>プロジェクト」をクリックして、Win32コンソールアプリケーションの新しいプロジェクトを生成しましょ~!

プロジェクト名は「opencvsample」にします。

02_open_cv

03_open_cv

 

プロジェクトが生成されたら、x64用アプリケーションを作成するように構成を変更しましょ~!

「ビルド>構成マネージャー」をクリックして、アクティブソリューションプラットフォームを「x86」から「x64」に変更します。

04_open_cv

05_open_cv

これからOpenCVの「includeフォルダ」を指定します。

ソリューションエクスプローラーのプロジェクト名を選択し、マウスを右クリックすると、メニューが表示されます。

メニューから「プロパティ」を選択するとプロジェクトのプロパティページが表示されます。

プロジェクトのプロパティページの左側のツリーで「構成プロパティ>C/C++>全般」を選択します。右側の設定画面に「追加のインクルドディレクトリ」が見えますね?そこに「C:\dev\lib\opencv-2.4.11\build\include」を設定します。

06_open_cv

07_open_cv

 

次は、「ライブラリフォルダ」を指定します。

プロジェクトのプロパティページの左側のツリーで「構成プロパティ>リンカ―>全般」を選択します。右側の設定画面に「追加のライブラリディレクトリ」が見えますね?そこに「C:\dev\lib\opencv-2.4.11\build\x64\vc12\lib」を設定します。

08_open_cv

これで、コーディングの準備が終わりました。

 

テストコーディング

以下のようにソースコードを作成しましょ~!

10_open_cv

#include "stdafx.h"

#include <opencv2/opencv.hpp> // インクルードファイル指定
#include <opencv2/opencv_lib.hpp> // 静的リンクライブラリの指定

using namespace cv; // 名前空間の指定

int main()
{
    //width220, height150の画像を作成
    Mat src = Mat::zeros(150, 220, CV_8UC3);

    //赤色で画像にHello Worldを描く
    putText(src, "Hello World", Point(5, 50), FONT_HERSHEY_SIMPLEX, 1, Scalar(0, 0, 200), 2, CV_AA);

    //緑色で画像に線を描く
    line(src, Point(190, 25), Point(190, 45), Scalar(0, 200, 0), 3);

    //要素を直接操作し画像に点を描く
    for (int x = 188; x < 192; x++) {
        for (int y = 53; y < 57; y++) { // y座標
            for (int i = 0; i < 2; i++) { // i < 3にするとBGRすべての要素を200にする
                src.at<uchar>(Point(x * 3 + i, y)) = saturate_cast<uchar>(200);
            }
        }
    }

    //画像を表示
    imshow("", src);

    //ウインドウの表示時間(0はキーが押されるまで閉じない)
    waitKey(0);

    return 0;
}

コーディングが終わったら「Ctrl+F5」を押下し、作成したアプリケーションを実行してみましょ~!

11_open_cv

もし、以下のようなエラーメッセージが出力されたら、「Debug」モードではなく「Release」モードで実行してください。

12_open_cv

↓↓↓

13_open_cv

 

11_open_cv

以下の画面が出力されたら成功!

14_open_cv

 

※参考サイト

http://tomokop.hatenablog.com/entry/2014/03/20/014150

 

お問い合わせはこちら!

関連記事

Visual Studio 2015でlibdecodeqrを利用してQRコードを読み取る

Visual Studio 2015開発環境で、OpenCVとlibdecodeqrを利用して、ウェ

記事を読む

codeigniterで、PC版とスマフォ版のテンプレートを自動で振分ける方法

  スマフォ版とPC版のテンプレートを切り替えるために、毎回コントローラでユ

記事を読む

VagrantをWindows7にインストールしてCentOSの開発環境を簡単に作る手順

毎日毎日サーバーにコマンドを打ち込み、10の指でプログラミングし、ディスプレイとにらめっこ。

記事を読む

Windows 10にVisual Studio 2015をインストール

Windows 10 64bit にVisual Studio 2015 Communityをインス

記事を読む

Windows Server間のデータ移行に、robocopyコマンドがとんでもなく便利だった

photo credit: rudolf_schuba via photopin cc 生

記事を読む

codeigniterのヘッダー、フッターはhookでなくloadで対応する

photo credit: mrlerone via photopin cc  

記事を読む

modern.IEに公開されている仮想マシンで、好きなWindowsバージョンをVirtualBoxで起動する

日々Web開発を行なっていると、様々なWindowsOSバージョン、Internet Exp

記事を読む

お問い合わせはこちら!

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

お問い合わせはこちら!

Laravel 5.1でLaravel Mixを使ってみた

本投稿の目的は、Laravel 5.1でLaravel Mixを利用し

Laravel 5.1の自動ログインのお試し!

セッションの保持時間を1分にする 単位:分 デフォルト

SourceTreeで差分ファイルを抽出

GitのクライアントでSourceTreeを利用する時、コミットの差分

第104回 PHP勉強会に参加しました!

昨日「第104回 PHP勉強会@東京」に参加し、メイン発表をしました。

Windows10にLaravel開発環境を構築

本記事は筆者のノートパソコンにLaravelプロジェクトの開発環境を構

→もっと見る

  • AWS構築 - クラウドアドバイザー
PAGE TOP ↑