Dans mon application, j'essaie d'appliquer un CIFilter (CIBumpDistortion) à mon image. Mon problème est lors de l'utilisation du paramètre kcIInputCenterKey, il semble que je dois donner des coordonnées numérotées. Quand je lance l'application, ce code renvoie les coordonnées oeil gauche:Paramètre de filtre d'image de base IOS
if (face.hasLeftEyePosition) {
NSLog("Left eye %g %g", face.leftEyePosition.x, face.leftEyePosition.y);
Hence, I can manually then enter the left eye coordinates into the kCInputCenterKey and then run the app again and the filter is applied to the left eye centre point:
let filter = CIFilter(name: "CIBumpDistortion")
filter?.setValue(ciImage, forKey: kCIInputImageKey)
filter?.setValue(0.5, forKey: kCIInputScaleKey)
filter?.setValue(200, forKey: kCIInputRadiusKey)
filter?.setValue(CIVector(x:150, y: 150), forKey: kCIInputCenterKey)
if let output = filter?.value(forKey: kCIOutputImageKey) as? CIImage {
self.chosenImage?.image = UIImage(cgImage: context.createCGImage(output, from: output.extent)!)
Cependant, comme je souhaite que l'utilisateur puisse choisir une image à utiliser, j'ai besoin Xcode pour trouver la position de l'œil gauche et appliquer la filtre à la zone, sans que je doive entrer manuellement les coordonnées.
J'ai essayé d'utiliser des chaînes, des types différents, etc à la place des nombres requis pour les coordonnées x et y, le tout sans aucune chance.
Toute aide serait extrêmement bienvenue et grandement appréciée!
Salut, dfd, Un grand merci pour vos suggestions. Je suis relativement nouveau au codage en général et n'aurais jamais pensé à essayer les reconnaisseurs de gestes! Merci encore, je vais recommencer. – Henry