Данные драйвера Kinect CLNU в формате EmguCV C # IImage - PullRequest
0 голосов
/ 13 апреля 2011

Я хочу взаимодействовать с Kinect, используя emguCV C #. Я использую драйверы CLNU.

Я не могу преобразовать выходной IntPtr CLNUDevice.getCameraColorFrameRGB32 () в любой используемый формат. Я попробовал новое изображение (ширина = 480, высота = 640, шаг = 480 * 3, IntPtr)

Любая помощь приветствуется. Я верю, что это версия кода на C #, приведенная здесь. http://codelaboratories.com/forums/viewthread/518/

Ответы [ 2 ]

0 голосов
/ 03 мая 2011

Это сработало для меня:

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

Где, конечно, rgb32Image - это то, что нужно. Я не совсем уверен в том, как использовать класс Image <> с этим, хотя я уверен, что существует некоторое преобразование между MIplImage и Image <>.

Надеюсь, это поможет.

0 голосов
/ 26 апреля 2011

Ну, я понял, что библиотека DLL содержит некоторую функцию, которая преобразует данные в растровое изображение.так что теперь у меня есть изображение emgucv <>.так что в основном вам нужно просто добавить это в NUIImage.cs, где вам нужно.

вернуть новое изображение (новый System.Drawing.Bitmap (640, 480, 640 * 4, System.Drawing.Imaging.PixelFormat.Format32bppRgb, deepImage.ImageData));

Вы можете использовать тот же код, чтобы получить растровое изображение.Это простой, тривиальный взлом.Я надеюсь, что некоторые могут объяснить, что происходит.Это быстро, хотя.

...