in FriendlyPix/FPUploadViewController.swift [191:214]
func detectLabelsInImage() {
self.vision = Vision.vision()
let options = VisionCloudImageLabelerOptions()
options.confidenceThreshold = 0.7
let imageLabeler = vision.cloudImageLabeler(options: options)
let imageMetadata = VisionImageMetadata()
imageMetadata.orientation = FPUploadViewController.visionImageOrientation(from: image.imageOrientation)
let visionImage = VisionImage(image: image)
visionImage.metadata = imageMetadata
imageLabeler.process(visionImage) { labels, error in
guard error == nil, let labels = labels, !labels.isEmpty else {
return
}
labels.prefix(3).forEach {
let chip = MDCChipView()
chip.titleLabel.text = "#" + $0.text.components(separatedBy: .whitespaces).joined(separator: "_")
chip.sizeToFit()
chip.addTarget(self, action: #selector(self.tagSelected(_:)), for: .touchUpInside)
self.smartTagsView.addArrangedSubview(chip)
}
}
}