Xcode9学习笔记83 - 图像中人物的面部检测

Swift面部检测
本文介绍了一个使用Swift语言实现的面部检测应用。该应用加载了一张图片,并利用Core Image框架中的CIDetector来检测图片中的人脸位置。通过创建一个UIImageView显示图片,并在检测到的人脸周围绘制白色的边框来突出显示检测结果。
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        
        self.view.backgroundColor = UIColor.black
        let image = UIImage(named: "Pic6")
        let imageView = UIImageView(image: image)
        imageView.center = CGPoint(x: 185, y: 260)//设置中心点坐标
        self.view.addSubview(imageView)
        
        let ciImage = CIImage(image: image!)
        let ciContext: CIContext = { return CIContext(options: nil) }()
        let ciDetector = CIDetector(ofType: CIDetectorTypeFace, context: ciContext, options: [CIDetectorAccuracy : CIDetectorAccuracyHigh])
        
        let ciImageSize = ciImage!.extent.size
        var transform = CGAffineTransform.identity
        transform = transform.scaledBy(x: 1.0, y: -1.0)
        transform = transform.translatedBy(x: 0, y: ciImageSize.height * -1)
        
        let features: [CIFeature]! = ciDetector!.features(in: ciImage!)
        for feature in features {
            let frame = feature.bounds.applying(transform)
            let faceView = UIView(frame: frame)
            faceView.layer.borderWidth = 2
            faceView.layer.borderColor = UIColor.white.cgColor
            imageView.addSubview(faceView)
        }
    }

  

转载于:https://www.cnblogs.com/LisenH/p/7990867.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值