gpt4 book ai didi

ios - AVMetadataFaceObject 偏航角反转/相反取决于设备型号

转载 作者:行者123 更新时间:2023-11-29 13:54:19 25 4
gpt4 key购买 nike

我正在使用 AVFoundation 的 AVMetadataFaceObject 和 AVCaptureMetadataOutputObjectsDelegate 实现人脸检测功能。我正在使用前置摄像头检测偏航角,以查看用户将头转了多远。在 iPhone X 上查看角度时,右转为 270.0 度或 315.0 度,而左转为 45.0 度或 90.0 度。查看 iPhone 8 的角度时,右转为 45.0 度或 90.0 度,而左转为 270.0 度或 315.0 度。偏航角是相反的。这里提出了同样的问题:https://forums.developer.apple.com/thread/113542没有回应。

这是我第一次在 iPhone X 以外的设备上测试它。

// I add the queue here...
if captureSession.canAddOutput(metadataOutput) {
captureSession.addOutput(metadataOutput)
metadataOutput.setMetadataObjectsDelegate(self, queue: metaQueue)
metadataOutput.metadataObjectTypes = [.face]
}

func metadataOutput(_ output: AVCaptureMetadataOutput,
didOutput metadataObjects: [AVMetadataObject],
from connection: AVCaptureConnection) {
let metadataObjects = metadataObjects as? [AVMetadataFaceObject]
for metadataObject in metadataObjects! {
// turnAngle is different across devices
let turnAngle = Double(metadataObject.yawAngle)
}
}

我希望输出在所有设备上保持一致,因为右转应始终产生 x 的偏航角,而左转应始终产生 y 的偏航角。我在想这可能与设备方向有关,但真的不确定。任何帮助将不胜感激。

最佳答案

我发现如果设备支持多 session ,则会发生相反的偏航角。所以你可以检查设备使用

AVCaptureMultiCamSession.isMultiCamSupported

如果 AVCaptureMultiCamSession.isMultiCamSupported == true 那么它是 iPhone XS XR XS Max ... 和更高版本否则是早前的 iPhone X

关于ios - AVMetadataFaceObject 偏航角反转/相反取决于设备型号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57682511/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com