“OpenCV” カテゴリのアーカイブ

以前,

=====================================
OpenCV SVN trunk:Revision 1734
OS:Windows Vista Ultimate SP1 32bit
CPU:Intel Core 2 Quad Q9450 2.66GHz
IDE:Microsoft Visual Studio 2005 Professional
CMake:v2.6
=====================================

の環境にて,

SVN版のビルド方法については,InstallGuide – OpenCV Wikiに書いてあるので,
日本語化するぞーと思って実際にやってみてるんだけど,OpenCV同梱のテスト用プログラム
cvtest.exeを実行したときにchessboard-detectorで落ちる。。。orz

ということを書いていましたが,OpenCV SVN trunk:Revision 1759をチェックアウトして,
ビルドし,cvtest.exeを実行すると,chessboard-detectorのテストはpassしました.

今のところ,cvtest.exeで
kd-tree: FAIL(Invalid function output)
だけが通っていないです.後でRevision 1734とdiff取って違いを見てみるかな.

あと,mltest.exeでFAIL(Invalid test data)って
エラーが出てうまく実行できなかったのは,

mltest.exe -d ..\..\tests\ml\testdata

というように実行していたからでした.

mltest.exe -f ..\..\tests\ml\testdata\validation.xml -d ..\..\tests\ml\testdata

というようにvalidation.xmlの指定が必要だったわけね。。。
mltestのReadme.txtにはちゃんと書いてあったのに見落としてました.ゴメンナサイ.

Comments コメントなし »

最近のSVN版のOpenCVには,Visual Studioのslnファイルが同梱されてなくて,
CMakeを使ってslnファイルを生成するようになっていたりします(※2009/05/03 現在).

SVN版のビルド方法については,InstallGuide – OpenCV Wikiに書いてあるので,
日本語化するぞーと思って実際にやってみてるんだけど,OpenCV同梱のテスト用プログラム
cvtest.exeを実行したときにchessboard-detectorで落ちる。。。orz

ビルドの仕方がまずかったのかな?といろいろ試してたら朝の4:00になってた(苦笑)
寝不足なのはどうみてもこれのせいです.

まだ,原因までは絞り込めてないんだけどかなり手強そうな予感.
もし,試せる人がいたら動作状況を教えて下さい!!

こちらの環境は以下の通り.
OpenCV SVN trunk:Revision 1734
OS:Windows Vista Ultimate SP1 32bit
CPU:Intel Core 2 Quad Q9450 2.66GHz
IDE:Microsoft Visual Studio 2005 Professional
CMake:v2.6

Comments コメントなし »

OpenCV Monthly – OpenCV Wikiの2009年3月分を読んでみたところ,

・cxcoreとcvの一部の関数(arithmetical & logical functions, cv::transform, DFT, filtering functions, image warping)を
SSE2の機能を使って最適化してみたよー(3月末までに終わる予定)
Maximally Stable Extremal Regions (MSER) に対応したよ-

ということが書いてあるようです(ざっと読んだので間違いがあるかも).

最近,というか就職してから画像処理にあまり触れていないので
Maximally Stable Extremal Regions (MSER) という用語ですらついていけてません。。。orz

blob detectionの一手法みたいなので,diffused illuminationで領域を抽出するのに使えるかな?

Comments 2 コメント »

あの楽器制作がメインストリームになっててOpenCVの動向調査をサボってました。。。orz
久々に調べたらいろいろ進展があるみたいなので,調べてみて個人的に気になった
ポイントをまとめてみました.参考までに.

まずは基本のOpenCV@sourceforge.net SVNリポジトリチェック.
ざっと見た感じディレクトリ構造が結構変わってますね.
次回のリリースでは構成が結構変わるんじゃないかな-と予想(あくまで予想).

あと,気になる変更点として,CvAdaptiveSkinDetector::processの追加かなぁ.
肌色検出だと思いますが精度が良ければいろいろ使い道がありそう.
サンプルにも adaptiveskindetector_sample.cpp が追加されているので試してみようかな.

************************************

公式wikiも軽くチェックしてみる.

OpenCV200906 – OpenCV Wiki を読む感じだと次のメジャーリリースは2009年6月あたりみたい.
追加予定の機能一覧が上記ページに書かれているので気になる人は読んでみるとよいかも.

あと,前の公式Wikiが一時的に見ることができなくなったときに,
そこにアップされていたcvBlobsLibというライブラリが参照できなくなっていたのですが,
cvBlobsLib – OpenCV Wiki にて入手可能になっているようです.
しかも,更新が続いている!!今度試してみよう.

************************************

videoInput Library がバージョンアップしている!!
しかも,念願のフレームレート設定機能が追加された模様.

1年以上前のエントリで,

[短所]
・FPSの設定が見当たらない(見逃してるだけかも)
#ライブラリのソースは公開されているため,いざとなったら,自分でFPS設定部を書けば解決する話.
#そのため,そんなにマイナスポイントではない.

と書いていたけど1年越しの想いが伝わった!!(ような気がする)
ということでOpenCV/videoInput Libraryによるビデオキャプチャ – Point at infinityも暇を見つけて更新しないと.

************************************
【追記】

Cross-compiling for iPhone « LambdaJiveという興味深いエントリ発見.

まだしっかりと読んでないけど,iPhone用のOpenCV frameworkが作れるってこと?
できるとしたら,ARMでどの程度の処理速度が出るんだろう。。。

Comments コメントなし »



にて要望が挙げられている「あの楽器」の実現がニコニコ技術部界隈で流行っているらしい.
その流れに便乗してOpenCVのリハビリも兼ねて,てきとーにアプリを作ってみました.
※書き殴りなのでソースが酷いことに。。。orz

図形が線,三角,丸になる条件が元動画からはイマイチわからなかったので乱数で適当に出しています.
こういうエフェクト系の知識が皆無なので勉強したい今日この頃.



【追記】
上記アプリにおける描画はOpenCVの描画関数(cvLine, cvCircle, cvPolyLine)で実現しています.
普段OpenCVでこんなエフェクトを使った描画はやらないので新鮮な感じでした.

上記のデモ程度であればイメージの表示,ROIの設定,図形描画,マウスイベント検出等のOpenCVの基本機能で
実現できるので入門的な課題としてはいいのかもしれませんね(※OpenCV知ってる人だったら30分位で作れる?).

Comments 4 コメント »

OpenCVの情報源として重宝していたhttp://opencvlibrary.sourceforge.net/
一時期テンポラリのwikiしか見れなかったんだけど,http://opencv.willowgarage.com/wiki/
に移ったみたいですね.

あと,http://pr.willowgarage.com/wiki/OpenCVにはMeeting notesが置かれているので,
今後のOpenCV開発動向をチェックしたい人には参考になるかも.

Comments コメントなし »

実例で学ぶゲーム3D数学

著者/訳者:Fletcher Dunn Ian Parberry

出版社:オライリージャパン( 2008-10-04 )

定価:¥ 3,570

Amazon価格:¥ 3,570

大型本 ( 484 ページ )

ISBN-10 : 4873113776

ISBN-13 : 9784873113777




をO’Reilly様より献本頂きました.ありがとうございます.
読了後レビューを書かせていただきます.

ということで,気分も乗ってきたので
OpenCVのCVS版(20081010)で遊んでみた
というエントリで試したSURFを動画に適用してみました.
※追跡対象は「実例で学ぶゲーム3D数学」です.

ある程度オクルージョンが発生してても追跡できてますね.

Comments 1 コメント »

PS3Eye Camera SDK for use in your own applications!!! « Alex Popovich’s Weblogより,
PS3用のwebカメラPlayStation EyeをDirectShowでキャプチャするためのライブラリ
PS3EyeLibが公開されたようです.

AlexPさん,ありがとう.
これで先走って買ってしまったPlayStation Eyeも自作アプリで活用できます!!

ということで,早速配布されているSDKを利用し,OpenCVと組み合わせたサンプルを紹介します.
※上記サイトのサンプルを少しいじっただけですけど。。。

間違い等ありましたら,ご指摘ありましたらよろしくお願いします.
(気が向いたら)wikiの方に利用方法を書くかもしれません.

※注意 下記コードの利用は自己責任でお願いします.

C++:
  1. //----------------------------------------------------------------------
  2. // 概要       : PS3EyeLibを用いたキャプチャサンプル
  3. // ファイル名 : CapturePS3Eye.cpp
  4. // 使用ライブラリ: 
  5. //  OpenCV for MS-Windows 1.1
  6. //  http://sourceforge.net/projects/opencvlibrary/
  7. //
  8. //  PS3EyeLib
  9. //  http://alexpopovich.wordpress.com/2008/10/20/ps3eye-camera-sdk-for-use-in-your-own-applications/
  10. //
  11. // Author    : dandelion
  12. // Date      : Oct 22, 2008; 20:00
  13. //----------------------------------------------------------------------
  14.  
  15. #include <iostream>
  16. #include <cstdlib>
  17.  
  18. //ヘッダインクルード(OpenCV関連)
  19. #include "cv.h"
  20. #include "cxcore.h"
  21. #include "highgui.h"
  22.  
  23. //ヘッダインクルード(PS3EyeLib関連)
  24. #include "IPS3EyeLib.h"
  25.  
  26. //ライブラリ読み込み(OpenCV関連)
  27. #pragma comment(lib,"cv.lib")
  28. #pragma comment(lib,"cxcore.lib")
  29. #pragma comment(lib,"highgui.lib")
  30.  
  31. //ライブラリ読み込み(PS3EyeLib関連)
  32. #pragma comment(lib,"PS3EyeLib.lib")
  33.  
  34. #define CAPTURE_WIDTH  320 //キャプチャサイズ(幅)
  35. #define CAPTURE_HEIGHT 240 //キャプチャサイズ(高さ)
  36. #define FPS             30 //フレームレート
  37. #define COLOR_DEPTH     24 //depth
  38.  
  39. using namespace std;
  40.  
  41. // 利用可能フォーマット表示関数(プロトタイプ宣言)
  42. void displayAvailableFormats(void);
  43.  
  44. int main(int argc, char *argv[])
  45. {
  46.   int key = 0;
  47.  
  48.   //キャプチャ画像
  49.   IplImage *image = cvCreateImage(cvSize(CAPTURE_WIDTH, CAPTURE_HEIGHT), IPL_DEPTH_8U, 3);
  50.  
  51.   //ウィンドウ
  52.   char* window_name = "Capture using IPS3EyeLib";
  53.   cvNamedWindow(window_name, CV_WINDOW_AUTOSIZE);
  54.  
  55.   // PS3EyeLibオブジェクト生成
  56.   IPS3EyeLib *pCam = IPS3EyeLib::Create();
  57.  
  58.   // 利用可能なフォーマットの表示
  59.   displayAvailableFormats();
  60.  
  61.   // キャプチャフォーマットの設定
  62.   pCam->SetFormat(IPS3EyeLib::GetFormatIndex(CAPTURE_WIDTH,CAPTURE_HEIGHT,FPS));
  63.  
  64.   // イメージ用バッファの確保
  65.   PBYTE pBuffer=new BYTE[(CAPTURE_WIDTH*CAPTURE_HEIGHT*COLOR_DEPTH)/8];
  66.  
  67.   // キャプチャ開始
  68.   pCam->StartCapture();
  69.  
  70.   //ESCキーが押されるまでキャプチャを続ける
  71.   while(key != 0x1b)
  72.   {
  73.     if(pCam->GetFrame(pBuffer, COLOR_DEPTH, false))
  74.     {
  75.       //キャプチャ画像をimageDataにコピー
  76.       memcpy(image->imageData, pBuffer, image->imageSize);
  77.  
  78.       //画像表示
  79.       cvShowImage(window_name, image);
  80.     }
  81.  
  82.     //キー入力
  83.     key = cvWaitKey(1);
  84.   }
  85.  
  86.   // イメージ用バッファの解放
  87.   delete [] pBuffer;
  88.  
  89.   // 後処理(PS3EyeLib関連)
  90.   pCam->StopCapture();
  91.   delete pCam;
  92.  
  93.   // 後処理(OpenCV関連)
  94.   cvDestroyWindow(window_name);
  95.   cvReleaseImage(&image);
  96.  
  97.   return 0;
  98. }
  99.  
  100. // 利用可能フォーマット表示関数
  101. void displayAvailableFormats(void)
  102. {
  103.   cout <<"[Available Formats]" <<endl;
  104.   for(int i=0; i<IPS3EyeLib::GetNumFormats(); i++)
  105.   {
  106.     int width, height, rate;
  107.     char *description;
  108.  
  109.     width       = IPS3EyeLib::GetFormats()[i].width;
  110.     height      = IPS3EyeLib::GetFormats()[i].height;
  111.     rate        = IPS3EyeLib::GetFormats()[i].rate;
  112.     description = IPS3EyeLib::GetFormats()[i].formatTxt;
  113.  
  114.     cout <<description <<endl;
  115.   }
  116. }


現在,PS3EyeLibで利用できるのは以下のフォーマットのようです(※2008/10/22現在).

320x240@15fps,
320x240@30fps,
320x240@60fps,
320x240@75fps,
320x240@100fps,
320x240@125fps,
640x480@15fps,
640x480@30fps,
640x480@40fps,
640x480@50fps,
640x480@60fps,
640x480@75fps

4000円のwebカメラでこれだけできるなんて,コストパフォーマンスがスゴすぎると思います.
学生の方は研究のお供として1台あっても良いかも.

Comments コメントなし »

OpenCV@SourceForge.netにOpenCV 1.1pre1がリリースされました(2008/10/16現在,Windows版のみ).
RecentChanges等の紹介は夜にでも書こうかなと(仮)

********************************

【追記】
早速ダウンロードして,下記の環境でビルドしてみましたが失敗。。。

OS: Windows Vista Ultimate
IDE: Visual Studio 2005 Pro
OpenCV: 1.1pre1(20081016)

highguiライブラリ(Debug版)生成時のリンクでこけますね.
あと,ソリューションの構成やリンクしているライブラリが一部怪しい気がする.

まぁ,pre1ってことなのでしょうがないのかな.今日はもう寝ます。。。

【追記②】
OpenCV 1.1pre1には
OpenCV\otherlibs\_graphics\src\libjasper
にあるべき,libjasper.vs2005.vcprojやその他もろもろのファイルが抜けている気がします.

そのため,CVS版からOpenCV\otherlibs\_graphics 以下のファイルを持ってきて,
OpenCV 1.1pre1のファイルと差し替えるとビルドは一応通りました.
後で1.1pre1とCVS版のdiffでもとってみるか。。。

Comments コメントなし »

10/13(月) PM

来週,10/19(日)がネットワークの試験なので,

情報処理教科書 テクニカルエンジニア[ネットワーク]2008年度版

著者/訳者:山下 真吾

出版社:翔泳社( 2008-03-12 )

定価:¥ 3,024

単行本(ソフトカバー) ( 768 ページ )

ISBN-10 : 479811670X

ISBN-13 : 9784798116709




を片手にスタバで勉強.

ネットワークは用語が小難しくて相変わらずやる気が起きない,じゃなくて苦手です.
#午後問題の解答なんかは,当たり前のことが書いてあるんだけどね(苦笑)

しかし,このエントリのタイトルだけ読むと,自信アリ・ナシどちらにもとれるなー.
まぁ,いろいろ察してください。。。 orz

************************************************************************
帰る途中にスーパーに寄ったら,夕食はスパゲティを作る気分になったので,
ミートソースを一からつくることに.

最近はスパゲティのソースをレトルトに頼りっぱなしだったんだけど,実家にいたとき(中学以前)は
ソースから作ってたので何も見ずに作れた.小さい頃の記憶は偉大.

自分で作った方がおいしいので,時間があるときはちゃんと作ろう.>自分

************************************************************************

OpenCVのCVSリポジトリを確認したところ,

・gcc 4.3を使ったコンパイルでwarningが出た箇所の修正
・サンプルプログラムの追加
・ドキュメントの追記
等が行われているようです.

もうちょっとでリリースされるのかな?

Comments 2 コメント »