我已经使用google进行人脸检测。所以我已经整合了通过防火墙也安装了框架从防火墙。
当设备处于景观模式时,人脸检测在iPhonex中工作得很好。 但是当设备处于肖像模式时,它就不能工作了。
我已经调试并发现在FirebaseMLVision.framework中有传递图像的processImage方法,但是当设备在肖像中时,结果始终是空白的。
方法FirebaseMLVision.framework
- (void)processImage:(FIRVisionImage *)image
completion:(FIRVisionFaceDetectionCallback)completion
NS_SWIFT_NAME(process(_:completion:));I调用如下:
[_faceRecognizer
processImage:image
completion:^(NSArray<FIRVisionFace *> *faces, NSError *error) {
if (error != nil || faces == nil) {
completed(emptyResult);
} else {
completed([self processFaces:faces]);
}
}];请帮我看看怎么回事。
谢谢。
发布于 2019-09-23 05:19:47
您试用过QuickStart mlvision示例应用程序吗?其人脸检测应在iPhone X纵向模式下工作良好。
发布于 2021-05-21 06:15:16
我也有同样的问题,但都解决了。如果垂直长度超过1280,则传递给MLKit的图像似乎无法检测。
如果您正在使用AVCaptureSession,请尝试更改sessionPreset的值。
let captureSession = AVCaptureSession()
captureSession.sessionPreset = .hd1280x720通过将输出图像的分辨率固定在720x1280,可以正常检测人脸。
如果不使用AVCaptureSession,请尝试更改图像分辨率。
https://stackoverflow.com/questions/57882655
复制相似问题