0

我正在尝试了解 Arcore 中的深度 API。我正在使用 Google Pixel4,据我所知它有一个深度传感器: https ://developers.google.com/ar/discover/supported-devices#google_play https://www.gsmarena.com/google_outlines_how_the_pixel_4s_dual_cameras_capture_depth_in_portrait_photos-news-40597。 php

所以,如果我第一次打电话config.setDepthMode(Config.DepthMode.AUTOMATIC);

然后frame.acquireDepthImage()能够返回图像。

但是,下面的代码找不到兼容的传感器。如果我删除“REQUIRE_AND_USE”过滤器:我得到 9 个摄像机,所有这些摄像机都具有 DO_NOT_USE 深度。

 private void UseADedicatedDepthSensor_NotWorkingOnPixel4() {
    CameraConfigFilter cameraConfigFilter=new CameraConfigFilter(session);
    cameraConfigFilter.setDepthSensorUsage(EnumSet.of( CameraConfig.DepthSensorUsage.REQUIRE_AND_USE));
    List<CameraConfig> cameraConfigList = session.getSupportedCameraConfigs(cameraConfigFilter);
    for (CameraConfig cameraConfig : cameraConfigList) {
      String cameraString="camera:"+cameraConfig.getCameraId()+" d:"+cameraConfig.getDepthSensorUsage().toString()+ " s:"+cameraConfig.getTextureSize().toString();
      System.out.println();
    }
    //this will crash as no camera has REQUIRE_AND_USE
    CameraConfig supportedCamera=cameraConfigList.get(0);
    System.out.println(supportedCamera.toString());
    session.setCameraConfig(cameraConfigList.get(0));
  }

所以我的问题是:

  1. Pixel4 是否有支持 arcore 的深度传感器?
  2. 如果是,那么为什么我的相机的所有深度传感器都配置为:DO_NOT_USE
  3. 为什么我仍然可以获得深度图像?
4

0 回答 0