В настоящее время я использую ML Kit для обнаружения лица в моем приложении. Он работает, но есть одна проблема. Я хочу установить на нем минимальный размер лица, но, похоже, это не действует. Он всегда обнаруживает лицо независимо от его размера.
Вот мой код:
private fun setupCamera(cameraProviderFuture: ListenableFuture<ProcessCameraProvider>, mainView: MainView) {
val cameraProvider = cameraProviderFuture.get()
preview = Preview.Builder().build()
val cameraSelector = CameraSelector.Builder().requireLensFacing(CameraSelector.LENS_FACING_FRONT).build()
val realTimeOpts = FaceDetectorOptions.Builder()
.setPerformanceMode(FaceDetectorOptions.PERFORMANCE_MODE_FAST)
.setMinFaceSize(0.5f)
.enableTracking()
.build()
detector = FaceDetection.getClient(realTimeOpts)
val imageAnalysis = ImageAnalysis.Builder()
.setBackpressureStrategy(ImageAnalysis.STRATEGY_KEEP_ONLY_LATEST)
.build()
.apply { setAnalyzer(Executors.newSingleThreadExecutor(), FaceDetectAnalyzer(detector!!, mainView))}
try {
cameraProvider.unbindAll()
camera = cameraProvider.bindToLifecycle(this as LifecycleOwner, cameraSelector, imageAnalysis, preview)
preview?.setSurfaceProvider(binding.pvCameraPreview.createSurfaceProvider())
} catch (e: Exception) {
Log.e(TAG, "Use case binding failed", e)
}
}
Может ли кто-нибудь указать мне какие-нибудь подсказки или предложения? Спасибо.