目前我正在使用 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)
}
}
有人可以指出我的任何线索或建议吗?谢谢你。