OpenCVで処理した画像をDirectXで表示する。
Posted on Thu 22 May 2008 in OpenCV
OpenCVではIplImage型に画像データが格納され、
IplImageのimageDataから画像データにアクセスできる。
データの格納順はBGRAとなっている。
これをDirectXのテクスチャに変換できないかと思って実行した。
手順はこんな感じ
・IDirect3DTexture9::CreateTextureでテクスチャを作成
・IDirect3DTexture9::LockRectを行ってデータを転送
カメラに写っている内容をDirectXで表示
コードはこんな感じでいけると思う。(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