gpt4 book ai didi

iphone - 使用 CIDetector 的人脸检测问题

转载 作者:可可西里 更新时间:2023-11-01 03:59:34 26 4
gpt4 key购买 nike

我正在开发一个应用程序,我必须在其中检测左眼、右眼和嘴巴的位置。我的 self.view 上有一个 imageView 并且 imageView 包含一个面部图像,现在我想要同时获取眼睛和嘴巴的坐标。我已经看到了 2-3 个示例代码,但在所有代码中都大致相同,我们必须反转我的 View 以匹配我不想要的坐标,因为我的 View 有一些其他控件。还有一件事他们都在使用

UIImageView *imageView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"image.png"]];

但是我的 imageView 有框架,我不能用图像初始化它。当我这样做时,我发现 faceFeature 的眼睛和嘴巴坐标是错误的。

我的代码是从 this sample code 开始的但在这个 View 中也正在反转其 Y 坐标。

任何人都可以帮助我如何在不反转我的 self.view 的情况下检测 UIImageView 图像上的面部眼睛和嘴巴位置。

如果我的问题不够清楚,请告诉我。

最佳答案

这里的技巧是将返回的点和边界从 CIDetector 转换为您的坐标,而不是翻转您自己的 View 。 CIImage 的原点位于左下角,您需要将其转换为左上角

int height = CVPixelBufferGetHeight(pixelBuffer);
CGAffineTransform transform = CGAffineTransformMakeScale(1, -1);
transform = CGAffineTransformTranslate(transform, 0, -1 * height);

/* Do your face detection */

CGRect faceRect = CGRectApplyAffineTransform(feature.bounds, transform);
CGPoint mouthPoint = CGPointApplyAffineTransform(feature.mouthPosition, transform);
// Same for eyes, etc

关于 UIImageView 的第二个问题,你只需要做

imageview.image = yourImage

初始化 ImageView 之后

关于iphone - 使用 CIDetector 的人脸检测问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11154585/

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