gpt4 book ai didi

face-detection - 使用 CoreImage 框架在模拟器上检测到人脸,但在 iphone 上未检测到人脸

转载 作者:行者123 更新时间:2023-12-03 23:56:44 24 4
gpt4 key购买 nike

我正在使用 CoreImage 来检测图片上的人脸。它在模拟器上运行良好,但在我的 iphone 5 上,它几乎从不处理用 iphone 相机拍摄的照片(它可以处理从网络上挑选的图片)。

以下代码显示了我如何检测人脸。对于每张图片,应用程序日志

step 1 : image will be processed



但它只记录

step 2 : face detected



对于他们中的少数人,而几乎每个人脸都在模拟器上检测到,或者如果我使用网络上的图片。
var context: CIContext = {
return CIContext(options: nil)
}()
let detector = CIDetector(ofType: CIDetectorTypeFace,
context: context,
options: [CIDetectorAccuracy: CIDetectorAccuracyHigh])

let imageView = mainPic

for var index = 0; index < picsArray.count; index++ {

if !(picsArray.objectAtIndex(index).objectAtIndex(1) as! Bool) {

var wholeImageData: AnyObject = picsArray.objectAtIndex(index)[0]

if wholeImageData.isKindOfClass(NSData) {

let wholeImage: UIImage = UIImage(data: wholeImageData as! NSData)!
if wholeImage.isKindOfClass(UIImage) {

NSLog("step 1 : image will be processed")

let processedImage = wholeImage
let inputImage = CIImage(image: processedImage)
var faceFeatures: [CIFaceFeature]!
if let orientation: AnyObject = inputImage.properties()?[kCGImagePropertyOrientation] {
faceFeatures = detector.featuresInImage(inputImage, options: [CIDetectorImageOrientation: orientation]) as! [CIFaceFeature]
} else {
faceFeatures = detector.featuresInImage(inputImage) as! [CIFaceFeature]
}

let inputImageSize = inputImage.extent().size
var transform = CGAffineTransformIdentity
transform = CGAffineTransformScale(transform, 1, -1)
transform = CGAffineTransformTranslate(transform, 0, -inputImageSize.height)

for faceFeature in faceFeatures {

NSLog("step 2 : face detected")
// ...

我已经找了三个小时的解决方案了,我很绝望:)。

任何建议将不胜感激!

提前致谢。

最佳答案

我找到了一个非常奇怪的方法来解决我的问题。

通过设置 allowsEditing UIImagePickerController() 的属性(property)至 true选择我的照片时,一切正常......我不明白为什么,但它有效。

关于face-detection - 使用 CoreImage 框架在模拟器上检测到人脸,但在 iphone 上未检测到人脸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31815952/

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