This FaceCropImageView is an extension of UIImageView, which helps properly crop and show the position of the face in the picture. This library is strongly inspired by UIImageView-BetterFace.
Demo screenshot and description are here!
FaceCropImageView is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'FaceCropImageView'
To run the example project, clone the repo, and run pod install
from the Example directory first.
Simple instruction is explained as follows.
let myImage = UIImage(named: "some-image")
imageView.setFaceImage(myImage)
You can also crop the image on the web using the URL. (In this case, the Kingfisher library is used)
let imageUrl = URL(string: "https://some-url/image.jpg")
imageView.setFaceImage(with: imageUrl)
If you need to detect faces more specifically, use fast
parameter.
This parameter can determine the value of CIDectorAccuracy
from CIDectorAccuracyLow to CIDectorAccuracyHigh.
imageView.setFaceImage(with: imageUrl, fast: false)
And it supports the completion closure.
imageView.setFaceImage(with: imageUrl, fast: false) { result in
switch result {
case .success(let features):
// `feature` means detected face infomation.
// `features.count == 0` means no face in the image.
print(features)
case .failure(let error):
print(error)
}
}
HanSJin, [email protected]
FaceCropImageView is available under the MIT license. See the LICENSE file for more info.