MYNT EYE D SDK  1.7.2
http://www.myntai.com/mynteye/depth
获取IMU数据

使用EnableMotionDatas()来启用缓存,才能通过GetMotionDatas()函数来获取到IMU数据。否则,只能通过回调接口得到IMU数据,请参阅(从回调接口获取数据)[]。

参考代码片段:

1 auto motion_datas = cam.GetMotionDatas();
2 if (motion_datas.size() > 0) {
3  std::cout << "Imu count: " << motion_datas.size() << std::endl;
4  for (auto data : motion_datas) {
5  if (data.imu) {
6  if (data.imu->flag == MYNTEYE_IMU_ACCEL) {
7  counter.IncrAccelCount();
8  std::cout << "[accel] stamp: " << data.imu->timestamp
9  << ", x: " << data.imu->accel[0]
10  << ", y: " << data.imu->accel[1]
11  << ", z: " << data.imu->accel[2]
12  << ", temp: " << data.imu->temperature
13  << std::endl;
14  } else if (data.imu->flag == MYNTEYE_IMU_GYRO) {
15  counter.IncrGyroCount();
16  std::cout << "[gyro] stamp: " << data.imu->timestamp
17  << ", x: " << data.imu->gyro[0]
18  << ", y: " << data.imu->gyro[1]
19  << ", z: " << data.imu->gyro[2]
20  << ", temp: " << data.imu->temperature
21  << std::endl;
22  } else {
23  std::cerr << "Imu type is unknown" << std::endl;
24  }
25  } else {
26  std::cerr << "Motion data is empty" << std::endl;
27  }
28  }
29  std::cout << std::endl;
30 }

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

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