从Swift的OCR技术接收到的书籍封面文字中识别书籍标题和作者姓名?

时间:2019-05-06 05:57:41

标签: ios swift ocr firebase-mlkit nslinguistictagger

我正在开发一个应用程序,该应用程序使用Firebase's MLKit扫描书的封面图像并从书的封面图像中获取文本。从收到的文本中,我想获取书名和作者的名字。我已经尝试使用NSLinguisticTagger,但没有得到预期的结果。 NSLinguisticTagger从句子中找到个人名称,组织名称,地名等。下面是我用来从句子中识别书名和作者姓名的代码:

let updatedTextFromOCR = textFromOCR.replacingOccurrences(of: "\n", with: " ")
    let schemes = NSLinguisticTagger.availableTagSchemes(forLanguage: "en")
    let tagger = NSLinguisticTagger(tagSchemes: schemes, options: 0)
    tagger.string = updatedTextFromOCR
    let range = NSRange(location: 0, length: updatedTextFromOCR.utf16.count)
    let options: NSLinguisticTagger.Options = [.omitPunctuation, .omitWhitespace, .joinNames]

    let tags: [NSLinguisticTag] = [.personalName, .placeName, .organizationName]

    tagger.enumerateTags(in: range, unit: .word, scheme: .nameType, options: options) { tag, tokenRange, stop in
        if let tag = tag, tags.contains(tag) {
            if let range = Range(tokenRange, in: updatedTextFromOCR) {
                let name = updatedTextFromOCR[range]
                print("\(name): \(tag)")
            }
        }
    }

通过使用上面的代码,我无法获得显示书名和书名的输出。谁能在这方面帮助我,真是太好了。

我正在iOS中制作此应用程序。并使用iOS版Firebase MLkit。先感谢您。

0 个答案:

没有答案