gpt4 book ai didi

objective-c - CIFaceDetector 原点不准确

转载 作者:行者123 更新时间:2023-12-03 17:51:28 26 4
gpt4 key购买 nike

我正在尝试使用 CIDetector/CIFaceDetector 进行基本的人脸检测,虽然它似乎可以正确识别人脸,但在我扔给它的所有内容中,边界矩形始终不准确。这是一个示例,其检测到的边界为绿色框:/image/E0vkH.jpg

一切似乎都普遍下降或反射(reflect)了这个量。这就像坐标来自左下角而不是左上角。我已在此图像上尝试了所有八个 CIDetectorImageOrientations,它们都返回相同的错误坐标。我在这里缺少什么?这是代码:

NSDictionary *detectorOptions = @{ CIDetectorAccuracy : CIDetectorAccuracyHigh };
self.faceDetector = [CIDetector detectorOfType:CIDetectorTypeFace context:nil options:detectorOptions];
self.features = [self.faceDetector featuresInImage:[CIImage imageWithCGImage:image.CGImage options:@{CIDetectorImageOrientation: @(1)}]];

确实是这样。该图像是基本的 UIImage imageWithData: 来自网络。

最佳答案

您正在那里使用 UIKit 和 Core Image。这些框架中的每一个都使用不同的协调系统。

  • UIKit 协调系统从左上角开始
  • 核心图像坐标从左下角开始

您可能正在使用 UIKit 上下文的 Core Image 坐标绘制绿色矩形。您的代码可以正常工作,您只需要转换坐标即可。

您还可以在 iOS Dev Library 中找到对其的引用

参见CoreImage and UIKit coordinates blog post了解如何在这两个系统之间进行转换的非常巧妙的方法。

关于objective-c - CIFaceDetector 原点不准确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25573522/

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