MYNT EYE D SDK  1.7.2
http://www.myntai.com/mynteye/depth
从回调接口获取数据

API提供了SetStreamCallback()SetMotionCallback()函数,来设定各类数据的回调。

参考代码片段:

1 cam.SetImgInfoCallback([](const std::shared_ptr<ImgInfo>& info) {
2  std::cout << " [img_info] fid: " << info->frame_id
3  << ", stamp: " << info->timestamp
4  << ", expos: " << info->exposure_time << std::endl
5  << std::flush;
6 });
7 for (auto&& type : types) {
8  // Set stream data callback
9  cam.SetStreamCallback(type, [](const StreamData& data) {
10  std::cout << " [" << data.img->type() << "] fid: "
11  << data.img->frame_id() << std::endl
12  << std::flush;
13  });
14 }
15 
16 // Set motion data callback
17 cam.SetMotionCallback([](const MotionData& data) {
18  if (data.imu->flag == MYNTEYE_IMU_ACCEL) {
19  std::cout << "[accel] stamp: " << data.imu->timestamp
20  << ", x: " << data.imu->accel[0]
21  << ", y: " << data.imu->accel[1]
22  << ", z: " << data.imu->accel[2]
23  << ", temp: " << data.imu->temperature
24  << std::endl;
25  } else if (data.imu->flag == MYNTEYE_IMU_GYRO) {
26  std::cout << "[gyro] stamp: " << data.imu->timestamp
27  << ", x: " << data.imu->gyro[0]
28  << ", y: " << data.imu->gyro[1]
29  << ", z: " << data.imu->gyro[2]
30  << ", temp: " << data.imu->temperature
31  << std::endl;
32  }
33  std::cout << std::flush;
34 });

上述代码,用了 OpenCV 来显示图像和数据。选中显示窗口时,按 ESC/Q 就会结束程序。

完整代码样例,请见 get_from_callbacks.cc