OpenCVで処理した画像をDirectXで表示する。

Posted on Thu 22 May 2008 in OpenCV

OpenCVではIplImage型に画像データが格納され、
IplImageのimageDataから画像データにアクセスできる。
データの格納順はBGRAとなっている。
これをDirectXのテクスチャに変換できないかと思って実行した。

手順はこんな感じ
・IDirect3DTexture9::CreateTextureでテクスチャを作成
・IDirect3DTexture9::LockRectを行ってデータを転送

カメラに写っている内容をDirectXで表示
f:id:hiroki0:20080523003112p:image

コードはこんな感じでいけると思う。(OpenCV側のデータが符号なし8ビット整数のときだけだが・・・)

HRESULT CreateTextureIPLImage(LPDIRECT3DDEVICE9 pDevice, IplImage* iplImage, UINT Width, UINT Height, UINT Levels, LPDIRECT3DTEXTURE9* ppTexture)
{
  HRESULT hr;
  //テクスチャ作成
  hr = pDevice->CreateTexture(Width, Height, Levels, 0, D3DFMT_A8R8G8B8, D3DPOOL_MANAGED, ppTexture, NULL);
  if(FAILED(hr)){
    return …

Continue reading

OpenCVはじめました。

Posted on Wed 21 May 2008 in OpenCV

安いUSBカメラかったのでOpenCVに手を出してみました。

背景差分法のプログラムです。
f:id:hiroki0:20080521063155p:image


Posted on Wed 21 May 2008 in OpenCV • Tagged with OpenCV

肌色部分抽出
RGBからHSVへ変換
・H(色相)だけを取り出して、肌色っぽい部分を取り出す
・取り出したものと背景差分のANDをとって表示
f:id:hiroki0:20080522011926p:image

顔追跡
・肌色領域の重心をもとめてそこを中心に円を描く
f:id:hiroki0:20080522011925p:image


マルチバイト文字列処理 isleadbyte()

Posted on Mon 21 April 2008 in Windows

マルチバイト文字列処理 isleadbyte()

setlocale(LC_ALL, "Japanese");
isleadbyte(unsigned char)c);

ってかかないと正しく動かないんだね・・・


追記1

Posted on Thu 07 February 2008 in Windows

標準でインストールされるPlatformSDKでコンパイルしてみたがダメ。
DirectXも問題なさそうだし・・・

もうちょっと調べてみないとだめみたい。


追記3

Posted on Thu 07 February 2008 in Windows

XPの方のVisualStudioのインストール場所にあるVCフォルダをVistaの方に持っていて置き換えてコンパイルしてみた。
結果は正常に動作した。(当たり前といえば当たり前というような気もするけど・・・
とりあえず、問題がでるまでこれで行ってみようかと思う。


追記2

Posted on Thu 07 February 2008 in Windows

不具合とは直接関係ないが、
Vistaでdshow.hやらが無いと言われてコンパイルできなかったDirectShowが
XPの方で普通にコンパイルできていたのは古いDirectSDKへのリンクがはってあったからみたいだ。

不具合のほうは一回XPの方のファイルをVistaに突っ込んでコンパイルさせてみようと思う。
これで上手くいかなかったら、.NetFrameworkが原因だったりするのかな・・・


Vista開発環境での不具合

Posted on Thu 07 February 2008 in Windows

Vistaコンパイルしたものを、XPに持っていって実行してみると正常に動作しない・・・
おそらくDirectXSDKかWindowsSDKが原因だと思われるのだが・・・・


新PCの開発環境構築

Posted on Sun 03 February 2008 in Windows

新PCのOSには、Vistaを入れたので、Vista上でVisual Studio2005の開発環境を構築するときのメモ。

まずは、Visual Studio2005のインストール。

VistaにVisual Studio2005を入れるにはこれらをインストールする必要があるようだ。
参考ページ
http://support.microsoft.com/kb/936453/ja

次に、DirectX SDKのインストールを行った。
November2007は、dMusic.hがなくなったりと面倒だったので、August2007をインストール。
ここは、特に問題なくいけた。

ここで、XPで作成していたプロジェクトをコンパイルしてみる。
dShow …


Continue reading

新PC

Posted on Sun 27 January 2008 in Windows

新PCを組んでみた。
構成は、

  • CPU: E8400
  • MEM: 4G
  • VGA: Geforce8600 GT
  • OS: Vista 32bit

Vistaにしたが、XPの旧マシンよりもかなり動作が早くなった。

旧PCベンチ
f:id:hiroki0:20080127233644p:image 新PCベンチ
f:id:hiroki0:20080127233655p:image

旧PCのスペック

  • CPU: PentiumM1.8GHz(ぐらいだったかな・・
  • MEM: 1G
  • VGA: Radeon x700
  • OS: XP 32bit