我按照这个自述文件中的所有说明进行人脸检测,当我尝试访问人脸的属性时face.leftEyeOpenProbability
, face.rightEyeOpenProbability
或者face.smilingProbability
它让我为空,尽管检测到了人脸。
我尝试通过两种方式解决此问题,
1. 使用旧的 firebase_ml_vision 插件进行颤振(与 AndroidX 不兼容)
firebase_ml_vision: ^0.2.1
,其中使用了该功能detectInImage()
。
2.使用新的firebase_ml_vision插件(与AndroidX兼容)
firebase_ml_vision: ^0.6.0+2
在使用该功能的地方processImage()
。
在这两种方法中,属性值都是 null。
这是使用最新插件检测人脸的片段。
void _getImageAndDetectFace() async {
final imageFile = await ImagePicker.pickImage(source: ImageSource.camera);
final image = FirebaseVisionImage.fromFile(imageFile);
final faceDetector = FirebaseVision.instance.faceDetector(FaceDetectorOptions(
mode: FaceDetectorMode.accurate,
enableLandmarks: true,
));
final faces = await faceDetector.detectInImage(image); //this is not null
setState(() {
if (mounted) {
_imageFile = imageFile;
_faces = faces;
for (Face face in faces) { //face is detected here, but...
print('left eye : ${face.leftEyeOpenProbability}'); //prints null
print('right eye : ${face.rightEyeOpenProbability}'); //prints null
print('smiling : ${face.smilingProbability}'); //prints null
}
}
});
}
请帮我解决这个问题。