2012年8月12日日曜日

PlayStation Eyeのドライバーをインストールした


60FPSのカメラを探していたらPlayStation Eyeを見つけたので、早速Amazonで購入し、OpenCVで使用できるか試してみた。


注意:ドライバーをインストールするまでは、本体をPCに接続しないこと

ドライバーは、ここからdownloadすればよい(右でも左でも同じCL-Eye-Driver-5.1.1.0177.exeとなる 8/11時点)

あとは、画面に従いドライバーをインストールすればよい。インストールが終わると、デスクトップにCL-Eye Testのショートカットができる

次に本体を、PCに接続し、PCがPlayStation Eyeを認識したら、CL-Eye Testを起動し、画像が表示できるか確認すればよい

ただし、他にカメラを接続していると、そのカメラを使用する可能性があるので、メニューのDevicesでPS3 Eye Cameraが選択されたいうことを確認すること。

2012年8月10日金曜日

画像認識のセミナーを調べてみた


今後3ヶ月以内に開催される画像認識に関連するセミナーを調べてみた
いずれも有料である。

画像処理の基礎を固め,SIFT等の抽出アルゴリズムとその実装を理解しよう!
http://www.catnet.ne.jp/triceps/sem/s120824a.html
2012年8月24日(金)

入門 TOF距離画像処理技術
http://www.catnet.ne.jp/triceps/sem/s120828a.html
2012年8月28日(火)

画像処理の基礎と劣化画像復元・画像の鮮明化 ~1人1台PC実習付~
http://www.j-techno.co.jp/test/eisei_P.cgi?mode=sem&unit=2012082801
2012年 8月28日 (火)

パターン認識・検索技術の基礎と応用~映像・画像の認識や高速探索法
http://www.catnet.ne.jp/triceps/sem/s120907a.html
2012年 9月7日(金)

OpenCV活用・画像処理アルゴリズムの基礎と応用技術 ~1人1台PC実習付~
http://www.j-techno.co.jp/test/eisei_P.cgi?mode=sem&unit=2012091001
2012年 9月10日 (月) 9月11日 (火)

物体認識技術の基礎とアプリケーション展開へのテクニック
http://techon.nikkeibp.co.jp/article/SEMINAR/20120719/229176/
2012年 09月18日(火)

パターン認識の基礎とサポートベクトルマシン(SVM)の活用 ~1人1台PC実習付~
http://www.j-techno.co.jp/test/index.cgi?mode=sem&unit=2012092801
2012年 9月28日

画像認識の新技術:HLAC(高次局所自己相関)とその応用
http://www.catnet.ne.jp/triceps/sem/s121003a.html
2012年10月3日(水)

画像処理による自動化システム構築技術
http://www.chubu-center.ac.jp/semi/semi2012/guide_html/E706.html
2012年 10/10,11,12

画像処理におけるノイズ除去の基礎とMATLABを用いた実践的活用~1人1台PC実習付~
http://www.j-techno.co.jp/test/eisei_P.cgi?mode=sem&unit=2012101100
2012年 10月11日 (木)

人物画像センシング技術の基礎と応用
http://www.catnet.ne.jp/triceps/sem/s121012a.html
2012年10月12日(金)

画像認識のための機械学習入門
http://www.catnet.ne.jp/triceps/sem/s121017a.html
2012年 10月17日(水)

オープンソースによる画像処理・認識プログラム開発
http://www.chubu-center.ac.jp/semi/semi2012/guide_html/E409.html
2012年 11/ 7, 8, 9

物体追跡(Object Tracking)技術の基礎と今後の動向
http://www.catnet.ne.jp/triceps/sem/s121113a.html
2012年11月13日(火)

ステレオカメラにおける画像認識技術とその応用 ~デモ付~
http://www.j-techno.co.jp/test/eisei_P.cgi?mode=sem&unit=2012112903
2012年 11月29日(木)

OpenCVでカメラ情報を取得してみた

OpenCVでカメラ情報が取れるということなので試してみたが、残念ながら手元のカメラは、幅と高さの情報しか値を返さなかった。
サポートしていない場合は、戻り値は0となる。

コードは、以下のものであるが、インクルードやライブラリの部分は省いている。
また、Windowsで実行すると結果をみることができないので、最後の行(return 0)にブレークポイントを設定する必要がある。

2012年8月8日水曜日

OpenCVでカラー画像から白黒3chの画像を作成する


わけあって白黒3chの画像が必要にあったので、OpenCVで作成してみた。

単純に白黒に変換するだけなら

 cv::Mat gray = cv::imread("c:\\data\\hoge.jpg", CV_LOAD_IMAGE_GRAYSCALE);

あるいは、

 cv::cvtColor(color, gray, CV_BGR2GRAY);

でできるが、この場合は1chとなる。

3ch白黒画像の作成は、以下のようにする。
マニアックなので、ほかに必要がある人はいないだろう

2012年8月7日火曜日

ソースコードの表示のテストをしてみた

ソースコードを表示させるテストをしてみる。

Syntax Highlighterのウィジェットを使用するのがよいので採用を試みるが、Bloggerとの相性が非常に悪いとのこと。このページを参考に導入を試みてみた。

以下のソースは、あるプログラムの一部分なので、このままでは動作しない。


int _tmain(int argc, _TCHAR* argv[])
{
 cv::Mat mat = cv::imread("c:\\opencv231\\samples\\cpp\\image\\lena.jpg");

 cv::namedWindow("image");
 cv::setMouseCallback("image", onMouse);

 while (true) {
  matDisp = mat.clone();

  if( rectState == IN_PROCESS || rectState == SET ) {
   rectangle( matDisp, cv::Point( rect.x, rect.y ), cv::Point(rect.x + rect.width, rect.y + rect.height ), GREEN, 2);
  }

  cv::imshow("image", matDisp);

  int key = cv::waitKey(10);

  if (key == 'q') {
   return 0;
  }
 }

 return 0;
}
行の表示がうまくいかず、無駄なスペースが表示される。どうやら解決できない問題のようだ。

2012年8月6日月曜日

Visual C++ 2010 ExpressにOpenCVのディレクトリを設定した

設定方法の修正版


毎回プロジェクトにincludeパスを設定したり、ソースのパスを修正するのも手間がかかるのでVisual C++ 2010 ExpressにOpenCVのディレクトリを設定した。

本説明では、設定に示した構成を例にしているので、自分の環境にあわせて読み替えてほしい。

設定用のファイルは、Windows7の場合、
C:\Users\ユーザ名\AppData\Local\Microsoft\MSBuild\v4.0\Microsoft.Cpp.Win32.user.props
である。

通常デフォルトでは、
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
</Project>
となっているので、

以下のようにディレクトリを追加する

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 <PropertyGroup>
 <IncludePath>$(IncludePath);C:\opencv242\build\include</IncludePath>
 </PropertyGroup>
 <PropertyGroup>
 <LibraryPath>$(LibraryPath);C:\opencv242\lib</LibraryPath>
 </PropertyGroup>
</Project>


保存した後、Visual C++ 2010 Expressを起動して、コンソールプロジェクトを作成し

#include "stdafx.h"
#include <opencv2/opencv.hpp>

#ifdef _DEBUG
//Debugモードの場合
#pragma comment(lib,"opencv_core242d.lib")
#pragma comment(lib,"opencv_imgproc242 d.lib")
#pragma comment(lib,"opencv_highgui242 d.lib")
#pragma comment(lib,"opencv_video242 d.lib")
#else
//Releaseモードの場合
#pragma comment(lib,"opencv_core242 1.lib")
#pragma comment(lib,"opencv_imgproc242 1.lib")
#pragma comment(lib,"opencv_highgui242 .lib")
#pragma comment(lib,"opencv_video242 .lib")
#endif

int _tmain(int argc, _TCHAR* argv[])
{
cv::Mat mat = cv::imread("画像データ");
cv::imshow("k", mat);

cv::waitKey(0);
return 0;
}
など打ち込んでみてビルドができるか確認する。

2012年8月2日木曜日

OpenCV 背景差分のサンプルを動かしてみた


samples/cpp/bgfg_segm.cppを前の記事に従い動かしてみる

実験用の画像は、http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.3.1/から
OpenCV-2.3.2-GPU-demos-pack.exeをダウンロードし、展開する。

展開したフォルダー OpenCV-2.3.2-GPU-demos-pack\data\pedestrian_detect
のmitsubishi.aviを使用した。


検出結果は、以下のようになる。




sampleで使用しているクラスは、BackgroundSubtractorMOG2である。


以上