我正在使用 Firebase ML Kit 进行人脸检测,在文档中它说:
如有必要,旋转图像,使其 imageOrientation 属性为 .up。使用正确旋转的 UIImage 创建一个 VisionImage 对象。不要指定任何旋转元数据 - 必须使用默认值 .topLeft。
我遇到了一个问题,我从互联网上传的照片往往可以正常工作,但是当我从相机拍照时似乎出现了问题。我有一种感觉,这是由于图像的定向方式造成的,我不知道应该如何检查图像以确保满足上面列出的这两个要求。我尝试打印出 images.imageOrientation 但它对我没有多大帮助,并且由于某种原因我无法使用UIImageOrientationUp
我在不同的stackoverflow答案中看到的那个。
这是我尝试打印图像方向时打印的内容:
int:0x2809f9a40 'UISV-alignment' UIImageView:0x13de4d4b0.bottom == UILabel:0x13dec1630'orient's Profile'.bottom (active)>",
"<NSLayoutConstraint:0x2809f9a90 'UISV-alignment' UIImageView:0x13de4d4b0.top == UILabel:0x13dec1630'orient's Profile'.top (active)>",
无论如何,如果有人可以帮助我编写一个函数,我可以使用它来确保我将要传递给 ML Kit 的图像的方向是正确的,我将非常感激。谢谢!我是 iOS 新手,这是我的第一个“真实”应用程序,所以如果有更好或更简单的方法来实现我的目标,我很抱歉。
*** 所以我发现当我用相机拍照时,它的方向是 .right,但在实际的 imageView 上看起来很好。我尝试将方向更改为 .up 但现在图像实际上向右旋转并且检测仍然失败......我想我需要将方向更改为 .Up 如果可能的话,无需实际旋转图像。因为当我尝试设置值时,它说它是一个只能获取的属性