如何使用Firebase-CloudVision(ML)获取图像的特定信息

问题描述 投票:0回答:2

我正在使用Firebase cloudVision(ML)API来读取图像。我能够获取图像的信息,但它不具体。

示例:当我拍摄并上传MacBook的图片时,它输出为“notebook,Loptop,electronic device..etc”。

但我希望得到像Apple MacBook这样的品牌名称,我看到很少有应用程序这样做。我找不到任何关于此的信息,所以我在这里发帖。如果有人遇到这个,请建议或指导

我的代码:

    func pickedImage(image: UIImage) {
    imageView.image = image
    imageView.contentMode = .scaleAspectFit
    guard let image = imageView.image else { return }
    // let onCloudLabeler = 
        Vision.vision().cloudImageLabeler(options: options)

    let onCloudLabeler = Vision.vision().cloudImageLabeler()


    // Define the metadata for the image.
    let imageMetadata = VisionImageMetadata()


    imageMetadata.orientation = .topLeft

    // Initialize a VisionImage object with the given UIImage.
    let visionImage = VisionImage(image: image)
    visionImage.metadata = imageMetadata

    onCloudLabeler.process(visionImage) { labels, error in
        guard error == nil, let labels = labels, !labels.isEmpty 
   else {
            // [START_EXCLUDE]
            let errorString = error?.localizedDescription ?? "No results returned."
            print("Label detection failed with error: \(errorString)")
            //self.showResults()
            // [END_EXCLUDE]
            return
        }

        // [START_EXCLUDE]
        var results = [String]()
        let resultsText = labels.map { label -> String in
            results.append(label.text)
            return "Label: \(label.text), " +
                "Confidence: \(label.confidence ?? 0), " +
            "EntityID: \(label.entityID ?? "")"
            }.joined(separator: "\n")
        //self.showResults()
        // [END_EXCLUDE]
        print(results.count)
        print(resultsText)

        self.labelTxt.text = results.joined(separator: ",")
        results.removeAll()

    }


}
ios swift firebase image-recognition firebase-mlkit
2个回答
0
投票

如果您已经看到其他应用正在执行您的应用未执行的操作,则其他应用可能使用与您正在使用的ML模型不同的ML模型。

如果你想使用ML Kit for Firebase完成相同的工作,你可以自己训练或从其他来源获得use a custom model


0
投票

正如Puf所说,您看到的应用程序可能正在使用他们自己的自定义ML模型。 ML Kit现在支持从您自己的训练数据创建自定义图像分类模型。在这里查看AutoML Vision Edge功能:https://firebase.google.com/docs/ml-kit/automl-vision-edge

© www.soinside.com 2019 - 2024. All rights reserved.