У меня есть приложение Jave Android, в котором я использовал ML Kit и Camerax для чтения QR -кода с помощью фронтальной камеры, когда я использую камеру задних камер, все работают нормально, но когда я использую фронтальную камеру, я столкнулся с некоторыми трудностями для чтения QR, и даже если он успех дает мне неправильное значение.private void startCamera() {
BarcodeScannerOptions options =
new BarcodeScannerOptions.Builder()
.setBarcodeFormats(
Barcode.FORMAT_ALL_FORMATS
)
.build();
scanner = BarcodeScanning.getClient(options);
ListenableFuture cameraProviderFuture =
ProcessCameraProvider.getInstance(this);
cameraProviderFuture.addListener(() -> {
try {
ProcessCameraProvider cameraProvider = cameraProviderFuture.get();
Preview preview = new Preview.Builder().build();
preview.setSurfaceProvider(previewView.getSurfaceProvider());
ImageAnalysis imageAnalysis =
new ImageAnalysis.Builder()
.setBackpressureStrategy(ImageAnalysis.STRATEGY_KEEP_ONLY_LATEST)
.build();
imageAnalysis.setAnalyzer(ContextCompat.getMainExecutor(this), imageProxy -> {
Image mediaImage = imageProxy.getImage();
if (mediaImage != null && !isScanned) {
InputImage image = InputImage.fromMediaImage(
mediaImage,
imageProxy.getImageInfo().getRotationDegrees());
scanner.process(image)
.addOnSuccessListener(barcodes -> {
if (!barcodes.isEmpty()) {
isScanned = true;
String rawValue = barcodes.get(0).getRawValue();
Log.d("MLKit", "Scanned: " + rawValue);
Toast.makeText(this, "Scanned: " + rawValue, Toast.LENGTH_SHORT).show();
scanner.close();
startActivity(new Intent(this, DirectionActivity.class));
finish();
}
})
.addOnFailureListener(e -> Log.e("MLKit", "Scan failed: " + e.getMessage()))
.addOnCompleteListener(task -> imageProxy.close());
} else {
imageProxy.close();
}
});
CameraSelector cameraSelector = CameraSelector.DEFAULT_BACK_CAMERA;
cameraProvider.unbindAll();
cameraProvider.bindToLifecycle(this, cameraSelector, preview, imageAnalysis);
} catch (Exception e) {
Log.e("MLKit", "Camera Init Failed", e);
}
}, ContextCompat.getMainExecutor(this));
}
Подробнее здесь: https://stackoverflow.com/questions/796 ... and-camerx
Чтение штрих -кодов с помощью фронтальной камеры с ML Kit и Camerx ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение