func detectLabelsInImage()

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)
      }
    }
  }