LoginSignup
4
4

More than 5 years have passed since last update.

VisualStudio 2012(32bit)用OpenCV 3.2.0のビルド

Last updated at Posted at 2017-09-13

とある事情から、VisualStudio 2012(32bit)用のOpenCV 3.2.0ライブラリをビルドしなくてはいけなくなったため、その手順を書き残していきます。

【とある事情】
OpenCV 2.4.10(32bit)を使用したとき、rectangle()等で指定できる座標が32,767(SHRT_MAX)までであったため
(OpenCV 3.2.0(64bit)はそれ以上でも問題なかった)
しかも、OpenCV 3.2.0に32bitのライブラリ(バイナリ)は用意されていない

CMakeの用意

OpenCVをビルドするためにはCMakeが必要なため、事前にインストールしておく必要があります。

CMakeのダウンロード

https://cmake.org/download/からダウンロードを行います。
今回はバイナリのインストーラでいいため、「cmake-3.9.2-win64-x64.msi」をダウンロードしました。
image1.png

CMakeのインストール

ダウンロード後、指示に従い、インストールを行います。
image2.png
image3.png
image4.png
image5.png
image6.png
image7.png
image9.png

OpenCVのビルド

では本題の32bit用のOpenCVのビルドを行います。

OpenCVのダウンロード

githubからダウンロードしてきてもよいが、今回はソースがまとまっている公式のダウンロードサイトから取得した。
image8.png
※「Win pack」でもよいが、すでにVisualStudio 2017用のバイナリが含まれれているので、ちょっと目障り(苦笑)

ダウンロード後、zipを解凍してファイルを展開します。
(今回は「C:\opencv-3.2.0\sources」に展開したものとします)

OpenCVの準備

CMake(cmake-gui)を起動します。
※管理者として実行します

まずはソースのあるフォルダと、出力先のフォルダを指定します。
出力先は存在しないフォルダを指定しても大丈夫です。
image1.png

次に「Configure」ボタンを押します。
この時、出力先のフォルダがないときは、以下のダイアログが表示されます。
image2.png

作成するVisualStudioのバージョンを聞かれますので、今回は2012を指定します。(Win64ではありません)
image3.png

「Finish」ボタンを押すと処理が実行されるのですが、残念ながらエラーになります。
image4.png

そこで、CUDAの設定をOFFにします。
image5.png
その後、「Configure」ボタンを押すと、無事、処理が終了します。
さらに「Generate」ボタンを押すと、出力先にプロジェクトファイル「OpenCV.sln」が出力されます。

OpenCVのビルド

出力された「OpenCV.sln」をVisualStudio 2012で開きます。
image6.png

その後「INSTALL」プロジェクトのビルドを行います。
※ちゃんと「Release」「Win32」にしてビルドすること

その結果、インクルードファイルは「C:\opencv-3.2.0\build\include」に、ビルドされたライブラリは「C:\opencv-3.2.0\build\install\x86\vc11\lib」に、DLLは「C:\opencv-3.2.0\build\install\x86\vc11\bin」に出力されます。

※バージョンや環境によっては違う場所にできることがあります
 3.3.1→「C:\opencv\build\lib」「c:\opencv\build\bin」

最後に

CMakeでエラーになったあと、そこから設定変更を行うという流れが、気分的によろしくないのですが、GUIでできるのは便利かもしれません。
でもどれを外せばいいかなどは、試行錯誤になりそうです。
(エラーメッセージからは判断付きづらい)

4
4
2

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
4
4