Kartvizit algılamak için CoreImage Framework kullanıyorum. Ben bir dikdörtgen tespit ederlerse (CIDetectorTypeRectangle) Ben bu yöntemi kullanarak bir bindirme çizmek: iOS 8 Core Görüntü bir Resim'nin bir bölümünü Swift aracılığıyla kaydetme
func drawOverlay(image: CIImage, topLeft: CGPoint, topRight: CGPoint, bottomLeft: CGPoint, bottomRight: CGPoint) -> CIImage {
var overlay = CIImage(color: CIColor(red: 0, green: 0, blue: 1.0, alpha: 0.3))
overlay = overlay.imageByCroppingToRect(image.extent())
overlay = overlay.imageByApplyingFilter("CIPerspectiveTransformWithExtent",
withInputParameters: [
"inputExtent": CIVector(CGRect: image.extent()),
"inputTopLeft": CIVector(CGPoint: topLeft),
"inputTopRight": CIVector(CGPoint: topRight),
"inputBottomLeft": CIVector(CGPoint: bottomLeft),
"inputBottomRight": CIVector(CGPoint: bottomRight)
])
return overlay.imageByCompositingOverImage(image)
}
Şimdi otomatik almak seçilen alanın bir resim ve kaydedin gerekir. Bunu yapmayı bilen var mı? Teşekkürler!
Kullanım CGImageCreateWithImageInRect Eğer soru için – Sandeep
Teşekkür tam olarak istediğiniz kısmına bunu kırpmak: bir dikdörtgen algılandığında
! Şimdi CIImage'ı Swift'de nasıl ekleyeceğimi biliyorum. Google, Apple'ın sitesini de yardım etmek için reddetti. ImageByCroppingToRect :) yöntemini kolayca arayabildiğinizde filtreleri kullanmaya çalıştım. – alexsalo