おぺんcv

画像処理エンジニアのブログ

WindowsにOpenCV 3 + Visual Studio 2015の環境を構築する

WindowsOpenCVVisual Studioをインストールして画像処理を始めましょう
OpenCVVisual Studioのバージョンは2016年7月時点で最新のものを選びました

やること

OpenCV 3.1のインストール・設定

まずOpenCVをインストールします

ここではDドライブ直下に展開したとして説明を続けます

D:\opencv

次に環境変数を設定します

OPENCV_DIRでCMakeにOpenCVのインストール場所を教えていますが
CMakeを使わないのであれば設定は不要です

Visual Studio 2015のインストール・設定

結構時間がかかりました(ファイルサイズ的に)

インストール完了と思いきや、C++の開発ツールがまだ入っていないので入れます

CMake 3.5.2のインストール・設定

Visual Studioのプロジェクト作成ごとにOpenCVのincludeやライブラリの設定をするのは面倒です
CMakeを使うと自動で設定してくれますし、再利用がきくのでおススメです

  • Download | CMakeからcmake-3.5.2-win32-x86.msiをダウンロード
  • cmake-3.5.2-win32-x86.msiを実行してインストール
    • この際、Pathを自動的に設定するよう選択します

CMakeLists.txtとソースの準備

いよいよプログラムの作成に入ります
プロジェクト用ディレクトリを作成し、CMakeLists.txtとソースコードを置きます

HelloCV
   |- CMakeLists.txt
   |- main.cpp

CMakeLists.txtの中身はこんな感じです
これでOpenCVが使えるプロジェクトを作成することができます

cmake_minimum_required(VERSION 2.8)

find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
file(GLOB srcs ./*.cpp ./*.h*)
add_executable(HelloCV ${srcs})
target_link_libraries(HelloCV ${OpenCV_LIBS})

main.cppの中身はこんな感じです
画像に「Hello OpenCV World.」というテキストを描画して表示するプログラムです

#include <opencv2\opencv.hpp>

int main()
{
	cv::Mat img = cv::Mat::zeros(cv::Size(512, 256), CV_8UC3);
	cv::putText(img, "Hello OpenCV World.", cv::Point(100, 100), 0, 1, cv::Scalar(255, 255, 255));
	cv::imshow("HelloCV", img);
	cv::waitKey(0);

	return 0;
}

プロジェクトの作成・ビルド・実行

コマンドラインでプロジェクトを作成しますので、まずはコンソールを立ち上げましょう
コマンドプロンプトでも良いですが、さすがにつらいという方にはコンソールエミュレータを入れることをおすすめします(私は現在cmder | Console Emulatorを使用しています)

$ls
CMakeLists.txt main.cpp
  • プロジェクトの作成
$mkdir build
$cd build
$cmake .. -G "Visual Studio 14 Win64"

成功するとbuild以下にProject.slnというソリューションファイルができてるはずです
これをダブルクリックするとVisual Studio 2015が起動します

  • プロジェクトのビルド
cmake --build . --config Release

コマンドラインでビルドできて便利!
この方法はこちらのブログを参考にさせていただきました
CMakeプロジェクトをVisual Studioでビルドするには - kumar8600の日記

  • 実行
./Release/HelloCV.exe

f:id:mizunashi:20160704010324p:plain
無事動きました

おわりに

WindowsOpenCV 3 + Visual Studio 2015の環境を構築する手順を紹介しました
手軽な方法を選んだつもりですが、何だかんだやること多いですね
ちなみにVisual Studio 2015でソースを表示してみましたが、文字が柔らかくなった印象です
Visual Studio 2013よりもいいかも…!