Android 多跟踪器示例项目运行但未显示任何形式的检测

Android Multi-tracker sample project runs but shows no form of detection

我一直在尝试测试新的 Vision API,并在 Android Studio 中获得了多跟踪器应用程序 运行。

我是 运行 我 phone 上的示例应用程序,但我无法检测到任何条形码。我已经测试了 ISBN 码、QR 码和人脸。由于聚焦问题,两者都具有大图像;但是,我没有发现检测有任何变化。

我应该看到什么? 如何从示例应用程序中检测到条形码?

我猜您未使用示例应用程序检测到任何内容的原因是视觉库未成功下载到您的设备。如果设备处于 "low storage" 状态,就会发生这种情况。我们最近更新了示例以检查这种情况并向用户提供反馈。例如:

// Check for low storage.  If there is low storage, the native library will not be
// downloaded, so detection will not become operational.
IntentFilter lowstorageFilter = new IntentFilter(Intent.ACTION_DEVICE_STORAGE_LOW);
boolean hasLowStorage = registerReceiver(null, lowstorageFilter) != null;

if (hasLowStorage) {
    Toast.makeText(this, R.string.low_storage_error, Toast.LENGTH_LONG).show();
    Log.w(TAG, getString(R.string.low_storage_error));
}

https://github.com/googlesamples/android-vision/blob/master/visionSamples/photo-demo/app/src/main/java/com/google/android/gms/samples/vision/face/photo/PhotoViewerActivity.java#L91

如果您遇到这种情况,释放设备 space 应该可以解决问题。

我确实遇到了这个问题,结果我的相机只需要大量光线。

我正在使用便宜的摩托罗拉 MotoE phone 进行测试。它无法检测到任何东西,直到我在相当明亮的光线下检测到条形码。然后就正常了。

编辑添加:

我发现使用默认请求的预览大小大大提高了我便宜的小 phone:

的可靠性
 mCameraSource = new CameraSource.Builder(getApplicationContext(), multiDetector)
                .setFacing(CameraSource.CAMERA_FACING_BACK)
                //.setRequestedPreviewSize(1600, 1024)
                .setRequestedFps(15.0f)
                .build();

https://developers.google.com/android/reference/com/google/android/gms/vision/CameraSource.Builder.html#setRequestedPreviewSize(int, int)