hirax.net::inside out::2009年09月01日

最新記事(inside out)へ  |   年と月を指定して記事を読む(クリック!)

2009年8月 を読む << 2009年9月 を読む >> 2009年10月 を読む

2009-09-01[n年前へ]

Microsoft C++ 2008 Expressで「OpenMP対応のOpenCV」と「”消しゴム版画風”画像作成ソフト」をビルトする 

 読めばワクワク楽しくなる「詳解 OpenCV」を読み、何だかOpenCVを使ったプログラミングをしたくなったので、無償で使うことができる開発環境Microsoft Visual C++ 2008 Express Editionで、先日、OpenCVの最新(trunk)版をビルドしてみました

 ちなみに、Windows SDK for Windows Server 2008 and .NET Framework 3.5をインストールすると、Microsoft Visual C++ 2008 Express Editionでも、OpenMP(並列計算ライブラリ)を使う設定でOpenCVをコンパイルすることができますので(上位バージョンなら必要ファイルが最初からインストールされています)、なるべく高速に計算させたいという人は、上記ライブラリをインストール後に、OpenCVライブラリをビルドし直しても良いかもしれません。

 ちなみに、そういった作業をしてみると、上記必要なヘッダファイルや、デバッグ版・リリース版のライブラリが、CisualC++のディレクトリにインストールされ使うことができるようになり、それらファイルを読みに行くようしておくことで、Microsoft Visual C++ 2008 Express Editionで「OpenMP対応のOpenCV(trunk版)」をビルドすることができました。

 ・・・と、これだけではつまらないので、せっかくですからOpenCVを使って書かれている”消しゴム版画風”画像作成ソフト(「ナンシー"小"関 風 パッチもん版画」作成ソフト)を(ソースファイルを修正し)、ビルドしてみることにします。ソースファイル・バイナリはここに置いてありますので、そこから試しに nancyKOseki20060719.cpp をダウンロードします。そして、3行目の

#include "stdafx.h"
をコメントアウトし、メイン関数の
int _tmain(int argc, _TCHAR* argv[])
int main(int argc, char* argv[])
とします。そして、OpenCV trunk版をビルドすることで作成される各種ライブラリ
highgui111.lib
cxts111.lib
cv111.lib
cxcore111.lib
ml111.lib
cvaux111.lib
cvhaartraining.lib
を「追加の依存ファイル」に追加したプロジェクトを作成し(ここで作成したプロジェクトファイルを使いまわすと、設定が面倒でなくて良いかもしれません)、そこに上記で修正した nancyKOseki20060719.cpp を加え・ビルドすると、Miscrosoft C++ 2008 ExpressでOpenMP使用のOpenCV trunk版を用いてコンパイルした「”消しゴム版画風”画像作成ソフト」ができあがる、というわけです。

 今回は、OpenMPを使って書きなおしたわけでなく、単にMiscrosoft C++ 2008 Expressで(OpenMP使用の)OpenCV trunk版を使って、コンパイルを通るようにしてみただけですが、ソースファイルから実行できるアプリケーションを作成したり・自分なりのカスタマイズをしたりし始めると、少しワクワクしてくるかもしれません。

 そして、クロス・プラットフォームの便利さを活用し、たとえば、iPhone版mixiアプリ版WEBアプリ版・・・といったものと同じように、さまざまな環境下で動くように改造したりしてみるのも面白いかもしれません。