Created
January 1, 2019 15:55
-
-
Save niorad/4819f2f37f5d0b07636531b22e9c0ad0 to your computer and use it in GitHub Desktop.
Swift Core Image Perspective Correction POC
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import Cocoa | |
let context = CIContext() | |
let lidimg = NSImage(named: "lid")?.cgImage(forProposedRect: nil, context: nil, hints: nil) | |
let originalCIImage = CIImage(cgImage: lidimg!) | |
func perspFilter(_ input: CIImage) -> CIImage? | |
{ | |
let persFilter = CIFilter(name:"CIPerspectiveCorrection") | |
persFilter!.setValue(input, forKey: "inputImage") | |
persFilter!.setValue(CIVector(x: 1000, y: 2000), forKey: "inputTopLeft") | |
persFilter!.setValue(CIVector(x: 3654, y: 2000), forKey: "inputTopRight") | |
persFilter!.setValue(CIVector(x: 700, y: 300), forKey: "inputBottomLeft") | |
persFilter!.setValue(CIVector(x: 4000, y: 250), forKey: "inputBottomRight") | |
return persFilter!.outputImage | |
} | |
let sepiaCIImage = perspFilter(originalCIImage) | |
var rep: NSCIImageRep = NSCIImageRep(ciImage: sepiaCIImage!) | |
var nsImage: NSImage = NSImage(size: rep.size) | |
nsImage.addRepresentation(rep) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment