In meiner App versuche ich einen CIFilter (CIBumpDistortion) auf mein Bild anzuwenden. Mein Problem ist, wenn ich den Parameter kcIInputCenterKey verwende, scheint es, dass ich nummerierte Koordinaten geben muss. Wenn ich die app ausführen, gibt dieser Code das linke Auge Koordinaten:IOS Core Image Filter Parameter
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)!)
Da ich jedoch der Benutzer wünschen, verwenden Sie ein beliebiges Bild holen zu können, ich Xcode brauchen die linke Augenposition zu finden und gelten die Filter auf den Bereich, ohne dass ich die Koordinaten manuell eingeben muss.
Ich habe versucht, Strings, verschiedene Typen usw. anstelle der Zahlen für die X-und Y-Koordinaten, alles ohne Glück.
Jede Hilfe wäre sehr willkommen und sehr geschätzt!
Hallo, dfd, Vielen Dank für Ihre Vorschläge. Ich bin relativ neu im Codieren im Allgemeinen und hätte nie gedacht, Gestenerkenner auszuprobieren! Nochmals vielen Dank, ich werde es noch einmal versuchen. – Henry