0

emguCV C#を使用してkinectとインターフェースしたい。CLNUドライバーを使用しています。

CLNUDevice.getCameraColorFrameRGB32()出力IntPtrを使用可能な形式に変換できません。新しい画像を試しました(幅= 480、高さ= 640、ストライド= 480 * 3、IntPtr)

どんな助けでも大歓迎です。私はそれがここで与えられたコードのc#バージョンであると信じています。http://codelaboratories.com/forums/viewthread/518/

4

2 に答える 2

0

ライブラリdllには、データをビットマップに変換する関数が含まれていることに気付きました。だから今私はemgucvImage<>を持っています。したがって、基本的には、必要に応じてNUIImage.csにこれを追加する必要があります。

新しいImage(new System.Drawing.Bitmap(640、480、640 * 4、System.Drawing.Imaging.PixelFormat.Format32bppRgb、depthImage.ImageData));を返します。

同じコードを使用してビットマップを取得することもできます。これは単純で些細なハックです。some1がワットが起こっていることを説明できることを願っています。でも速いです。

于 2011-04-26T10:57:30.957 に答える
0

これは私のために働いた:

IntPtr rgb32 = CLNUIDevice.getCameraColorFrameRGB32();
MIplImage rgb32Image = new MIplImage();
rgb32Image = (MIplImage)Marshal.PtrToStructure(rgb32, typeof(MIplImage));

もちろん、ここでrgb32Imageが必要です。MIplImageとImage<>の間に何らかの変換が存在することは確かですが、これでImage<>クラスを使用する方法についてはすぐにはわかりません。

お役に立てれば。

于 2011-05-03T06:04:32.733 に答える