Skip to content

Instantly share code, notes, and snippets.

@n-fukuju
Last active November 26, 2015 08:47
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save n-fukuju/790f6df715574501e649 to your computer and use it in GitHub Desktop.
Save n-fukuju/790f6df715574501e649 to your computer and use it in GitHub Desktop.
OpenCvSharpを使うために、Visual Studio 2015(x64)向けにOpenCVをビルドする覚書き

環境

OS

Windows 8.1 Pro

Visual Studio

Visual Studio 2015 Community(非エンタープライズ向け無償版)
https://www.visualstudio.com/vs-2015-product-editions

OpenCvSharpのバージョン確認

OpenCV本体と、OpenCvSharpのバージョンを合わせるため、OpenCvSharpのバージョンを確認する。

  • Visual Studioを起動し、C#のプロジェクトを作成。
  • ソリューションエクスプローラから、プロジェクトを右クリックし、NuGetパッケージマネージャを開く。
  • "OpenCvSharp-WithoutDll"をインストール。
  • "OpenCvSharp-WithoutDll"のバージョンを確認。(ex. Latest stable 2.4.0.1)

OpenCVをダウンロード

  • OpenCVのWebサイトから、Windows向けをダウンロードする。
    http://opencv.org/
  • バージョンは、OpenCvSharpと合わせる。
    (マイナーバージョンまで合っていれば大体よいだろうか ex. VERSION 2.4.11)
  • ダウンロードした実行ファイルを実行して解凍する。

CMakeで、OpenCVビルド用のプロジェクトを作成する。

  • CMake GUIを起動する。
    http://www.cmake.org/
  • ソースコードのパスを指定。
    "opencv"/source
  • ビルド出力先のパスを指定。(新規作成しておく)
    "opencv"/build/vs14/x64
  • "configure"ボタンを押す。
  • "Visual Studio 14 2015 Win64"を選択する。
  • "Generate"ボタンを押す。

(SURF使いたい)

2.x系の場合、SURF使用前に Cv2.InitModule_NonFree()を呼ぶ。 3.x系の場合、CMakeでGenerateする前に作業追加。

  • opencv_contrib のソースコードをダウンロード
    https://github.com/Itseez/opencv_contrib
  • CMage GUIの"configure"後、"OPENCV_EXTRA_MODULE_PATH"の値に、解凍したパスを記入。
    "opencv_contrib"/modules
    (バックスラッシュはエラーになるのでパスはコピペしないこと)
  • "Generate"して、以降のビルド作業を行う。
  • ビルドエラーとなる。
    BUILD_PERF_TESTS, BUILD_TESTS のチェックを外す。

Visual Studio でOpenCVをビルドする。

  • ソリューションファイルを開く。
    "opencv"/build/vs14/x64/OpenCV.sln
  • Visual Studio のソリューションエクスプローラから、INSTALLプロジェクトをreleaseビルドする。

OpenCVSharp動作

ビルドしたOpenCVにPATHを通せば、OpenCvSharpが動作する。
"opencv"/build/vs14/x64/install/bin/
OpenCvSharpを使ってビルドした際に、"TypeInitializationException"が出た場合、OpenCVへのPATHが通っていない場合がある。 参考URLにあるように、Dependency Walkerで調べてみる。

参考

OpenCvSharpをつかう その17(NuGetで導入)
http://schima.hatenablog.com/entry/2013/12/15/110513
OpenCvSharpをつかう その22 (Dependency Walker)
http://schima.hatenablog.com/entry/2014/05/09/205843
OpenCVの環境構築(OpenCV 2.4.9)
http://www.buildinsider.net/small/opencv/02#cmake
Windows7 64bit版にOpenCV 3.0 alpha の開発環境を構築した(4)
http://iwaki2009.blogspot.jp/2014/09/windows7-64bitopencv-30-alpha-4.html

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment