无法将Google的视觉API结果打印到应用屏幕

问题描述 投票:1回答:1

我正在使用Google的Vision API来识别图像中的某些功能。当我的终端中出现徽标时,我的徽标检测工作正常,但我无法将其显示在我的应用程序屏幕上。它不断打印“找不到徽标” - 这是我的代码:

    //Get logo annotations
            let logoAnnotations: JSON = logoResponses["logoAnnotations"]
            let numLogos: Int = logoAnnotations.count
            var logos: Array<String> = []
            if numLogos > 0 {
                var allResultsText:String = "Logos: "
                for index in 0..<numLogos {
                    let logo = logoAnnotations[index]["logo"].stringValue
                    logos.append(logo)
                }
                for logo in logos {
                    if logos[logos.count - 1] != logo {
                        allResultsText += "\(logo), "
                    } else {
                        allResultsText += "\(logo)."
                    }
                }
                self.allResults.text = allResultsText
            } else {
                self.allResults.text = "No logos found"
            }
        }

这是我得到的JSON响应:

[
  {
    "boundingPoly": {
      "vertices": [
        {
          "x": 210,
          "y": 139
        },
        {
          "x": 229,
          "y": 139
        },
        {
          "x": 229,
          "y": 179
        },
        {
          "x": 210,
          "y": 179
        }
      ]
    },
    "mid": "/m/04lg33",
    "score": 0.18314756,
    "description": "Ralph Lauren Corporation"
  }
]

我如何获取徽标描述返回的值,本案例为Ralph Lauren Corporation?

swift swifty-json google-vision
1个回答
1
投票

我在我的代码中纠正了这个问题。以下是需要它的任何人的功能代码:

 let logoAnnotations: JSON = responses["logoAnnotations"]
            let numLogos: Int = logoAnnotations.count
            var logos: Array<String> = []
            if numLogos > 0 {
                var logoResultsText:String = " ,"
                for index in 0..<numLogos {
                    let logo = logoAnnotations[index]["description"].stringValue
                    logos.append(logo)
                }
                for logo in logos {
                    if logos[logos.count - 1] != logo {
                        logoResultsText += ", \(logo), "
                    } else {
                        logoResultsText += "\(logo)."
                    }
                }
                self.logoResults.text = logoResultsText
            } else {
                self.logoResults.text = ""
            }

我从logoAnnotations数组调用了错误的索引。

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