我一直在尝试测试新的 Vision API 并让多跟踪器应用程序在 Android Studio 中运行。
我正在手机上运行示例应用程序,但无法检测到任何条形码。我已经测试过 ISBN 码、二维码和面孔。由于聚焦问题,两者都具有大图像;但是,我没有看到检测发生任何事情。
我应该期待看到什么?如何从示例应用程序中检测到条形码?
我一直在尝试测试新的 Vision API 并让多跟踪器应用程序在 Android Studio 中运行。
我正在手机上运行示例应用程序,但无法检测到任何条形码。我已经测试过 ISBN 码、二维码和面孔。由于聚焦问题,两者都具有大图像;但是,我没有看到检测发生任何事情。
我应该期待看到什么?如何从示例应用程序中检测到条形码?
我猜您没有使用示例应用程序检测到任何内容的原因是视觉库未成功下载到您的设备。如果设备处于“低存储”状态,就会发生这种情况。我们最近更新了样本以检查这种情况并向用户提供反馈。例如:
// 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));
}
如果您遇到这种情况,释放设备上的空间应该可以解决问题。
我遇到了这个确切的问题,结果我的相机只需要很多光。
我正在使用便宜的摩托罗拉 MotoE 手机进行测试。它无法检测到任何东西,直到我在相当明亮的灯光下看到条形码。然后它工作得很好。
编辑添加:
我发现使用默认请求的预览大小大大提高了我便宜的小手机的可靠性:
mCameraSource = new CameraSource.Builder(getApplicationContext(), multiDetector)
.setFacing(CameraSource.CAMERA_FACING_BACK)
//.setRequestedPreviewSize(1600, 1024)
.setRequestedFps(15.0f)
.build();