import UIKit
import CoreImage
extension UIImage{
class func ResizeÜIImage(image : UIImage,width : CGFloat, height : CGFloat)-> UIImage!{
UIGraphicsBeginImageContext(CGSize(width: width, height: height))
image.draw(in: CGRect(x: 0, y: 0, width: width, height: height))
let newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return newImage
}
}
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let myImage : UIImage = UIImage.ResizeÜIImage(image: UIImage(named: "sample")!, width: self.view.frame.width, height: self.view.frame.height)
let myImageView : UIImageView = UIImageView()
myImageView.frame = CGRect(x: 0, y: 0, width: myImage.size.width, height: myImage.size.height)
myImageView.image = myImage
self.view.addSubview(myImageView)
let options : NSDictionary = NSDictionary(object: CIDetectorAccuracyHigh, forKey: CIDetectorAccuracy as NSCopying)
let detector : CIDetector = CIDetector(ofType: CIDetectorTypeFace, context: nil, options: options as? [String : AnyObject])!
let faces : NSArray = detector.features(in: CIImage(image: myImage)!) as NSArray
var transform : CGAffineTransform = CGAffineTransform(scaleX: 1, y: -1)
transform = transform.translatedBy(x: 0, y: -myImageView.bounds.size.height)
for feature in faces {
let faceRect : CGRect = (feature as AnyObject).bounds.applying(transform)
let faceOutline = UIView(frame: faceRect)
faceOutline.layer.borderWidth = 1
faceOutline.layer.borderColor = UIColor.red.cgColor
myImageView.addSubview(faceOutline)
}
}
}
import UIKit
import CoreImage
extension UIImage{
class func ResizeÜIImage(image : UIImage,width : CGFloat, height : CGFloat)-> UIImage!{
UIGraphicsBeginImageContext(CGSize(width: width, height: height))
image.draw(in: CGRect(x: 0, y: 0, width: width, height: height))
let newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return newImage
}
}
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let myImage : UIImage = UIImage.ResizeÜIImage(image: UIImage(named: "sample")!, width: self.view.frame.width, height: self.view.frame.height)
let myImageView : UIImageView = UIImageView()
myImageView.frame = CGRect(x: 0, y: 0, width: myImage.size.width, height: myImage.size.height)
myImageView.image = myImage
self.view.addSubview(myImageView)
let options : NSDictionary = NSDictionary(object: CIDetectorAccuracyHigh, forKey: CIDetectorAccuracy)
let detector : CIDetector = CIDetector(ofType: CIDetectorTypeFace, context: nil, options: options as? [String : AnyObject])!
let faces : NSArray = detector.features(in: CIImage(image: myImage)!)
var transform : CGAffineTransform = CGAffineTransform(scaleX: 1, y: -1)
transform = transform.translatedBy(x: 0, y: -myImageView.bounds.size.height)
for feature in faces {
let faceRect : CGRect = feature.bounds.applying(transform)
let faceOutline = UIView(frame: faceRect)
faceOutline.layer.borderWidth = 1
faceOutline.layer.borderColor = UIColor.red.cgColor
myImageView.addSubview(faceOutline)
}
}
}
import UIKit
import CoreImage
extension UIImage{
class func ResizeÜIImage(image : UIImage,width : CGFloat, height : CGFloat)-> UIImage!{
UIGraphicsBeginImageContext(CGSizeMake(width, height))
image.drawInRect(CGRectMake(0, 0, width, height))
let newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return newImage
}
}
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let myImage : UIImage = UIImage.ResizeÜIImage(UIImage(named: "sample")!, width: self.view.frame.width, height: self.view.frame.height)
let myImageView : UIImageView = UIImageView()
myImageView.frame = CGRectMake(0, 0, myImage.size.width, myImage.size.height)
myImageView.image = myImage
self.view.addSubview(myImageView)
let options : NSDictionary = NSDictionary(object: CIDetectorAccuracyHigh, forKey: CIDetectorAccuracy)
let detector : CIDetector = CIDetector(ofType: CIDetectorTypeFace, context: nil, options: options as? [String : AnyObject])
let faces : NSArray = detector.featuresInImage(CIImage(image: myImage)!)
var transform : CGAffineTransform = CGAffineTransformMakeScale(1, -1)
transform = CGAffineTransformTranslate(transform, 0, -myImageView.bounds.size.height)
for feature in faces {
let faceRect : CGRect = CGRectApplyAffineTransform(feature.bounds, transform)
let faceOutline = UIView(frame: faceRect)
faceOutline.layer.borderWidth = 1
faceOutline.layer.borderColor = UIColor.redColor().CGColor
myImageView.addSubview(faceOutline)
}
}
}