gpt4 book ai didi

ios - 为什么人脸检测只能与 CGImagePropertyOrientation.right 一起使用?

转载 作者:行者123 更新时间:2023-11-28 18:48:26 24 4
gpt4 key购买 nike

为了探索 Apple 随 Xcode9 发布的新 Vision Framework,我创建了可在下方链接中获取的 Xcode 项目。它基于对我在 GitHub 和 Youtube 上找到的代码所做的调整,但我不明白为什么 CGImagePropertyOrientation.right 在 VNImageRequestHandler 的方向参数上。有人可以阐明这一点吗?

GitHub Xcode project

最佳答案

我通过 Apple 关于 UIImage.imageOrientationCGImagePropertyOrientation 的文档找到了我自己的问题的答案。将它张贴在这里以防其他人遇到同样的问题:最重要的是,尽管这两个属性都与图像方向相关,但它们为它们的枚举分配了不同的实际值。例如,UIImage.imageOrientation.up 将映射到值 0,而 CGImagePropertyOrientation.up 将映射到 1。我处理它的方法是构建这个自定义“翻译”函数,该函数返回从 UIImage.imageOrientation 输入到相应 CGImagePropertyOrientation 值的映射:

func getCGOrientationFromUIImage(_ image: UIImage) -> CGImagePropertyOrientation {
// returns que equivalent CGImagePropertyOrientation given an UIImage.
// This is required because UIImage.imageOrientation values don't match to CGImagePropertyOrientation values
switch image.imageOrientation {
case .down:
return .down
case .left:
return .left
case .right:
return .right
case .up:
return .up
case .downMirrored:
return .downMirrored
case .leftMirrored:
return .leftMirrored
case .rightMirrored:
return .rightMirrored
case .upMirrored:
return .upMirrored
}
}

GitHub 示例已更新。现在,无论使用哪个方向拍照,都可以识别人脸。

关于ios - 为什么人脸检测只能与 CGImagePropertyOrientation.right 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46573044/

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