<blockquote id="76sxc"></blockquote>
<cite id="76sxc"><track id="76sxc"></track></cite>
<legend id="76sxc"></legend>

  • <blockquote id="76sxc"><p id="76sxc"></p></blockquote>
    <sub id="76sxc"><p id="76sxc"></p></sub>

          Depth Preset 更新

          1. 目的

          Gemini 330 新增了支持深度Preset 的更新,由于相機(jī)自帶的Preset存放有限;因此我們支持3個(gè)Optional Depth Preset的更新,用戶(hù)可以根據(jù)自身的具體應(yīng)用場(chǎng)景在奧比提供的Depth Preset release 頁(yè)面去下載對(duì)應(yīng)的Preset 更新到相機(jī)進(jìn)行使用,以便提供對(duì)應(yīng)場(chǎng)景的更好深度性能。


          2. 適用范圍

          適用于Gemini 330 系列固件版本1.4.60及以上的所有產(chǎn)品,SDK版本要求2.3.x及以上版本.


          3. 如何更新Preset

          3.1 如何通過(guò)Orbbec Viewer 更新Preset?

          ① 相機(jī)連接Orbbec Viewer 后點(diǎn)擊Device Control,點(diǎn)擊Optional depth preset 的Update 按鈕,選擇需要加載的Preset 文件,注意:一次最多同時(shí)支持3個(gè)Preset 的加載,加載后點(diǎn)擊Update 即可更新到Device Preset 中,同時(shí)會(huì)顯示在Optional depth preset 列表中。

          image.png


          更新成功:

          image.png

          ② Optional depth preset 最大支持同時(shí)加載3個(gè)Preset 的更新,每次更新將覆蓋替代之前的Optional depth preset


          異常處理:

          ①如果導(dǎo)入存在重復(fù)Preset ,會(huì)提示存在重復(fù)配置,相同僅生效一個(gè)

          image.png

          ②固件版本不支持或如導(dǎo)入機(jī)器不匹配:會(huì)提示"Error! The depth preset file are invalid ,Please select again"

          image.png


          3.2 如何通過(guò)SDK更新Preset?

          參考sample:https://github.com/orbbec/OrbbecSDK_v2/blob/main/examples/2.device.optional_depth_presets_update/device.optional_depth_presets_update.cpp

          /// 1.Create a context to access the connected devices
          std::shared_ptr<ob::Context> context = std::make_shared<ob::Context>();
          
          #if defined(__linux__)
          // On Linux, it is recommended to use the libuvc backend for device access as v4l2 is not always reliable on some systems for preset update.
          context->setUvcBackendType(OB_UVC_BACKEND_TYPE_LIBUVC);
          #endif
          
          /// 2. Access the connected devices
          auto deviceList = context->queryDeviceList();
          std::shared_ptr<ob::Device> device;
          if (deviceList->getCount() > 0) {
              device = deviceList->getDevice(0);
          }
          
          /// 3. update optional depth presets
          // Enter your preset file path, please enter 1-3
          std::vector<std::string> pathList = {
              "/home/user/preset1.bin",
              "/home/user/preset2.bin",
              "/home/user/preset3.bin"
          };
          
          uint8_t index = 0;
          uint8_t count = static_cast<uint8_t>(pathList.size());
          
          // OB_PATH_MAX is defined as 1024
          char(*filePaths)[OB_PATH_MAX] = new char[count][OB_PATH_MAX];
          
          // copy paths
          for(const auto &path: pathList) {
            strcpy(filePaths[index++], path.c_str());
          }
          
          // update optional depth presets
          try {
              device->updateOptionalDepthPresets(filePaths, count, [&](OBFwUpdateState state, const char *message, uint8_t percent) {
              std::cout << "Message: " << message 
                        << " percent: " << percent << "%" << std::endl;
            });
          
            // No exception if the upgrade is successful
            delete[] filePaths;
            filePaths = nullptr;
          }
          catch(ob::Error &e) {
            // Receive an exception if an error occurs
            std::cerr << "Error message: " << e.what() << "\n" << std::endl;
            delete[] filePaths;
            filePaths = nullptr;
          }


          <blockquote id="76sxc"></blockquote>
          <cite id="76sxc"><track id="76sxc"></track></cite>
          <legend id="76sxc"></legend>

        1. <blockquote id="76sxc"><p id="76sxc"></p></blockquote>
          <sub id="76sxc"><p id="76sxc"></p></sub>

                东京热播放器 | 亚洲成人性爱 | 一区二区三区免费在线观看 | 少妇高潮在线 | 美女扒开粉嫩尿囗给男生桶 | 香蕉久久国产亚洲-V666AV | 无码毛片免费在线观看 | 男女无遮挡xx00动态图120秒 | 亚洲自拍中文 | 丁香五月激情婷婷 |