• <rt id="2awkm"><noscript id="2awkm"></noscript></rt>
      <rt id="2awkm"><noscript id="2awkm"></noscript></rt>
    • <dfn id="2awkm"></dfn>
      <menu id="2awkm"><acronym id="2awkm"></acronym></menu>
      
      
      <rt id="2awkm"></rt><dfn id="2awkm"><code id="2awkm"></code></dfn>
    • <dd id="2awkm"><s id="2awkm"></s></dd>
      <tbody id="2awkm"></tbody>
    • <dfn id="2awkm"></dfn>
      <menu id="2awkm"><noscript id="2awkm"></noscript></menu>

      獲取IMU數(shù)據(jù)

      本文內(nèi)容

      ● 配置并啟動相機(jī)

      ● 獲取IMU數(shù)據(jù)

      ● 用例

      ● 后續(xù)步驟


      在 Femto Mega 設(shè)備中包含慣性運(yùn)動單元 (IMU),其中包括加速度傳感器和陀螺儀。 如果要獲取IMU數(shù)據(jù),首先需要打開設(shè)備,然后再開啟 IMU,然后獲取 IMU 數(shù)據(jù)。請參閱查找并打開設(shè)備


      由于IMU的采樣頻率比圖像數(shù)據(jù)幀率高得多,而應(yīng)用層獲取 IMU 的頻率低于 IMU 的采樣頻率,這樣每次應(yīng)用層接收IMU數(shù)據(jù)時,會同時收到多組 IMU 數(shù)據(jù)。


      有關(guān) IMU 頻率的詳細(xì)信息,請參閱 Femto Mega硬件規(guī)格



      配置并啟動相機(jī)

      備注:

      Femto Mega的IMU和深度、彩色相機(jī)相互獨(dú)立,可以單獨(dú)輸出IMU數(shù)據(jù),這點(diǎn)和Aazure Kinect 不同,但是為了保持和Azure Kinect 的使用邏輯一致,還是先開啟彩色或深度相機(jī),然后才開啟IMU。

      若要啟動相機(jī),請使用 k4a_device_start_cameras()

      k4a_device_configuration_t config = K4A_DEVICE_CONFIG_INIT_DISABLE_ALL;
      config.camera_fps = K4A_FRAMES_PER_SECOND_30;
      config.color_format = K4A_IMAGE_FORMAT_COLOR_MJPG;
      config.color_resolution = K4A_COLOR_RESOLUTION_2160P;
      if (K4A_RESULT_SUCCEEDED != k4a_device_start_cameras(device, &config))
      {
         printf("Failed to start cameras\n");
         goto Exit;
      }
      if (K4A_RESULT_SUCCEEDED != k4a_device_start_imu(device))
      {
         printf("Failed to start imu\n");
         goto Exit;
      }

       


      獲取IMU 數(shù)據(jù)

      每個 k4a_imu_sample_t 包含同一時間獲取的加速度和陀螺儀數(shù)據(jù)。

      您可以在用于獲取圖像數(shù)據(jù)的同一線程 或者在不同的線程中獲取IMU數(shù)據(jù)。

      如果要快速獲取IMU數(shù)據(jù),那IMU數(shù)據(jù)采集使用單獨(dú)的線程,在線程內(nèi)調(diào)用k4a_device_get_imu_sample()函數(shù)獲取IMU數(shù)據(jù)。


      由于 IMU 數(shù)據(jù)首先會存入 SDK 內(nèi)部的隊(duì)列中,你可以在不丟棄任何數(shù)據(jù)的情況下實(shí)現(xiàn)對數(shù)據(jù)的獲取和處理:

      1. 以一定頻率去等待捕獲數(shù)據(jù)(因緩存隊(duì)列長度有限,頻率不能太低,通常間隔不要超過100ms);

      2. 等待到捕獲數(shù)據(jù)后對數(shù)據(jù)進(jìn)行處理;

      3. 獲取所有已存入隊(duì)列的數(shù)據(jù)進(jìn)行處理;

      4. 循環(huán)以上步驟。


      其中第三步可以在一個循環(huán)中傳入 參數(shù) timeout_in_ms 值為 0 調(diào)用 k4a_device_get_imu_sample(),直到函數(shù)返回 K4A_WAIT_RESULT_TIMEOUT。 K4A_WAIT_RESULT_TIMEOUT 表明隊(duì)列中沒有緩存數(shù)據(jù),且在指定的超時內(nèi)沒有任何數(shù)據(jù)抵達(dá)。



      用例

      k4a_imu_sample_t imu_sample;// Capture a imu sampleswitch (k4a_device_get_imu_sample(device, &imu_sample, TIMEOUT_IN_MS)){case K4A_WAIT_RESULT_SUCCEEDED:    break;case K4A_WAIT_RESULT_TIMEOUT:    printf("Timed out waiting for a imu sample\n");    continue;    break;case K4A_WAIT_RESULT_FAILED:    printf("Failed to read a imu sample\n");    goto Exit;}// Access the accelerometer readingsif (imu_sample != NULL){    printf(" | Accelerometer temperature:%.2f x:%.4f y:%.4f z: %.4f\n",            imu_sample.temperature,            imu_sample.acc_sample.xyz.x,            imu_sample.acc_sample.xyz.y,            imu_sample.acc_sample.xyz.z);}



      后續(xù)步驟

      現(xiàn)在你已經(jīng)掌握了如何獲取IMU數(shù)據(jù),接下來你還可以探索其他功能圖像轉(zhuǎn)換

      • <rt id="2awkm"><noscript id="2awkm"></noscript></rt>
        <rt id="2awkm"><noscript id="2awkm"></noscript></rt>
      • <dfn id="2awkm"></dfn>
        <menu id="2awkm"><acronym id="2awkm"></acronym></menu>
        
        
        <rt id="2awkm"></rt><dfn id="2awkm"><code id="2awkm"></code></dfn>
      • <dd id="2awkm"><s id="2awkm"></s></dd>
        <tbody id="2awkm"></tbody>
      • <dfn id="2awkm"></dfn>
        <menu id="2awkm"><noscript id="2awkm"></noscript></menu>
        成人免费网站视频 | 操逼操逼操逼操逼操逼操逼操逼操逼 | 操鸡呢在线观看 | 欧美性爱免费在线 | 青娱在线视频 |