LoginSignup
4

More than 5 years have passed since last update.

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

とある事情から、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でできるのは便利かもしれません。
でもどれを外せばいいかなどは、試行錯誤になりそうです。
(エラーメッセージからは判断付きづらい)

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
What you can do with signing up
4