2009-08-30[n年前へ]
■Visual C++ 2008 Express EditionでOpenCV trunk(1.1.1)をビルドする
読めばワクワク楽しくなる「詳解 OpenCV」を読んだので、OpenCVのプログラムを久々に書いてみることにしました。また、「詳解 OpenCV」を空いている時間に読んでいるので、本を読みながら、開発環境のインストール作業を始めてみようと思ったのです。
まずは、OpenCVのダウンロードです。といっても、ただOpenCVの安定版をダウンロードしてくるのでは、新鮮さに少し欠けるような気がします。というわけで、(難しいことを知らなくても最新版ファイルを落とすことができる)CVSGrabを使い、OpenCVの最新(trunk)版を手元に置いて・使ってみることにしました。
そこで、まずはCVSGrabをダウンロードします。そして、インストーラを立ち上げ、(たとえば)"C:\tool\cvsgrab"にCVSGrabをインストールします。その後に、次のように
cd C:\tool\cvsgrabコマンドを打つことで、"c:/CVS/"の下にOpenCVの"trunk"版がダウンロードさせます。
set CVSGRAB_HOME=C:\tool\cvsgrab
cvsgrab.bat -url http://opencvlibrary.svn.sourceforge.net/viewvc/opencvlibrary/trunk/ -destDir c:/CVS/ -webInterface ViewVC1_1
もしも、Proxy内の環境からダウンロードしたければ、最後の一行を、
cvsgrab.bat -url http://opencvlibrary.svn.sourceforge.net/viewvc/opencvlibrary/trunk/ -proxyHost proxy.hoge.jp -proxyPort 8080 -proxyUser hogeuser -proxyPassword hogepasswd -destDir c:/CVS/ -webInterface ViewVC1_1というようにすれば大丈夫です。
次は、・・・(開発環境よりライブラリをインストールするなんて)何だか順序がおかしい気もしますが、無償で使うことができる開発環境Microsoft Visual C++ 2008 Express Editionをダウンロード&インストールします(こういった無償・簡易開発環境が最初からインストールされていても良いのではないか、とふと思ったりもします)。
そして、最後にCMakeをダウンロード&インストールします。「CMakeを用いたOpenCVのビルド:」を参考にしながら、ただし、最初はとりあえず、「OPENCV_WHOLE_PROGRAM_OPTIMIZATIONはOFF」にした状態で、OpenCVをビルドするための、Microsoft Visual C++ 2008プロジェクトを作成します。そして、”CMakeを用いたOpenCVのビルド”に記載されているような「ビルド-バッチビルド」という手順を追うことで、(アプリケーション作成・実行に必要な).libファイルや.dllファイルや実行ファイルが次々と作成されていきます。
というわけで、ここまで来れば、あとはOpenCVのプログラム(プロジェクト&ソースファイル)を作る、だけです。・・・という準備作業をするところで、今日の時間が無くなってしまいました。この続きは、また後で楽しみ・書こうと思います。
2009-08-31[n年前へ]
■GpuCV: GPU-accelerated Computer Vision
GpuCV: GPU-accelerated Computer Vision
GpuCV is an open-source GPU-accelerated image processing and Computer Vision library. It offers an Intel's OpenCV-like programming interface for easily porting existing OpenCV applications, while taking advantage of the high level of parallelism and computing power available from recent graphics processing units (GPUs).
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アプリ版・・・といったものと同じように、さまざまな環境下で動くように改造したりしてみるのも面白いかもしれません。
2009-09-02[n年前へ]
■MacOSX版「ミニチュア写真作成ソフト(本城直季風ミニチュア写真作成ソフト」について
OpenCVと言えば、以前作った「ミニチュア写真作成ソフト(本城直季風ミニチュア写真作成ソフト)」のMacOSX版アプリケーション・インストール・スクリプト(当然アプリケーションも)が動かない、というメールを頂きました。
調べてみると、インストール・スクリプト中の、
/usr/bin/sudo cp -n src dstの -n オプションが原因でエラーが出ているようでした。この -n オプションは、ファイルコピー時の(もし同名ファイルが存在した場合のための)上書き禁止オプションです。通常のコマンドとして実行はできるので、このオプションを付けることで、なぜスクリプト実行時にエラーが出るのかは未だわかりません。ただ、エラー発生の直接の原因は、この-nオプションのようです。
とはいえ、この-nオプションを消すと、スクリプトは途中まで、システムにすでに入っている(私が添付したライブラリよりも新しい)ライブラリを消してしまうことになるので、システム・ライブラリを壊してしまうことになります。 そのため、このスクリプトから-nオプションを消すことは、絶対にできません・・・。
いつの間にか、Mac OSを使わなくっていました。しかも、恐ろしいことに、ソースやプロジェクトファイルやMac用の開発用資料をどこに置いたのかもすべて忘れてしまいました。OpenCVで遊ぶことを再開したこともありますし、もう一度、Mac OSX版を適当に書きなおして作ってみることにでもしましょう。(また、ソース・ファイルなどは後で置いておきます)
それまでは、WEBアプリ版の画像処理ソフトや、そういったツールで作った(下に張り付けたような)画像ジェネレータで、お茶を濁していて頂けますでしょうか・・・。