Downloading Model and Creating Functions
Download Places205-GoogleNet model from Apple/Machine-Learning page.
Let's GoogLeNetPLaces.mlmodel
embed into our project.
And then, import CoreML and Vision into ViewController.swift
.
import UIKit
import CoreML
import Vision
Implement the recognizeImage
function below didFinishPickingMediaWithInfo
. The function takes 1 parameter as CIImage
named image.
func recognizeImage(image: CIImage) {
// ...
}
Define selectedImage variable of type CIImage
.
@IBOutlet weak var imageView: UIImageView!
@IBOutlet weak var resultLabel: UILabel!
var selectedImage = CIImage()
Convert the image taken as UIImage
to CIImage
, and run recognizeImage() defined inside didFinishPickingMediaWithInfo
.
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
imageView.image = info[UIImagePickerControllerEditedImage] as? UIImage
self.dismiss(animated: true, completion: nil)
if let ciImage = CIImage(image: imageView.image!) {
self.selectedImage = ciImage
}
recognizeImage(image: selectedImage)
}