[ros-users] Black depth image with kinect_calibration

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: User discussions
Date:  
To: ros-users
Subject: [ros-users] Black depth image with kinect_calibration

Hello,

I am trying to calibrate my Kinect today. My only problem is that although
the depth info is properly displayed in the GUI, the saved depth images are
all black.

I tried to hack around acquire_data.cpp in depth_cb(). Something seems fishy
with the image conversion (lines 314 -> 329):

  // convert to cv::Mat for saving
  if (saveDepth)
    {
      cv::Mat img(ROWS,COLS,CV_16UC1);
      uint8_t *imgi = img.ptr<uint8_t>(0);
      uint8_t *rgbi = (uint8_t *)depth;
      memcpy(imgi,rgbi,FREENECT_FRAME_PIX*2);
      char fname[1024];
      sprintf(fname,"%s/img_depth_%02d.png", fdir, depth_num);
      depth_num++;
      if (cv::imwrite(fname,img))
        printf("Wrote depth image %s\n", fname);
      else
        printf("ERROR: failed to write image %s\n", fname);
      saveDepth = false;
    }



I tried to play around with the matrix, pointers types and the memcpy
parameters but my openCV knowlegde being quite low, I cannot figure out how
to get a clean picture.

I tried having a look at the documentation of freekinect (to see what pixel
format to expect for depth) but it hasn't been generated.

Is this problem only happening with me or does anyone has it too?
Any idea how to solve this?

Raph
--
View this message in context: http://ros-users.122217.n3.nabble.com/Black-depth-image-with-kinect-calibration-tp2255412p2255412.html
Sent from the ROS-Users mailing list archive at Nabble.com.