convert kinect depth image to real world dimensions
Posted: 04 April 2014 06:23 PM   [ Ignore ]
New Member
Rank
Total Posts:  1
Joined  2014-03-29

I am working on a robot that uses kinect to avoid obstacles I am using Visual Studio C++, OpenCV library, and code laboratories drivers (CL NUI Platform).And want to convert the depth image to a real world dimensions.

Thanks in advance

Here is my code:
[// Jim Vaughn
// Displays the color and depth information using OpenCV

#include “stdafx.h”

#include <opencv/cv.h>
#include <opencv/cxcore.h>
#include <opencv/highgui.h>

#include <CLNUIDevice.h>


using namespace std;

void displayKinectImage();

int _tmain(int argc, _TCHAR* argv[])
{
  displayKinectImage();
}

void displayKinectImage() {
  PDWORD rgb32_data = (PDWORD)malloc(640 * 480 * 4);
  PDWORD depth32_data = (PDWORD)malloc(640 * 480 * 4);

  CLNUICamera cam = CreateNUICamera(GetNUIDeviceSerial(0));
  CLNUIMotor motor = CreateNUIMotor(GetNUIDeviceSerial(0));

  StartNUICamera(cam);

  cvNamedWindow(“Image”, CV_WINDOW_AUTOSIZE);
  cvNamedWindow(“Depth”, CV_WINDOW_AUTOSIZE);
  cvNamedWindow(“Grey”, CV_WINDOW_AUTOSIZE);

  IplImage *rgb32 = cvCreateImageHeader(cvSize(640, 480), 8, 4);
  IplImage *grey;
  IplImage *depth32 = cvCreateImageHeader(cvSize(640, 480), 8, 4);;

  do {
      GetNUICameraColorFrameRGB32(cam, rgb32_data);
      GetNUICameraDepthFrameRGB32(cam, depth32_data);

      rgb32 = cvCreateImageHeader(cvSize(640, 480), 8, 4);
      grey = cvCreateImage(cvSize(640, 480), 8, 1);
      depth32 = cvCreateImageHeader(cvSize(640, 480), 8, 4);

      cvSetData(rgb32, rgb32_data, rgb32->widthStep);
      cvSetData(depth32, depth32_data, depth32->widthStep);

      // Convert RGB32 to greyscale
      cvCvtColor(depth32, grey, CV_RGB2GRAY);

      cvShowImage(“Image”, rgb32);
      cvShowImage(“Grey”, grey);
      cvShowImage(“Depth”, depth32);

      cvReleaseImageHeader(&rgb32;);
      cvReleaseImage(&grey;);
      cvReleaseImageHeader(&depth32;);

      cvWaitKey(1);

  } while (!GetAsyncKeyState(0x50));


  free(rgb32_data);
  free(depth32_data);

}
]

Profile
 
 
 
 


RSS 2.0     Atom Feed