swift 哪些语言可用于Vision框架中的文本识别?

nbysray5  于 2023-03-07  发布在  Swift
关注(0)|答案(3)|浏览(368)

我正在尝试在我的应用程序中添加一个选项,以便在使用苹果的Vision框架识别文本时允许使用不同的语言。
似乎有a function用于以编程方式返回支持的语言,但我不确定我是否正确地调用了它,因为我只返回了“en-US”,我相当肯定这不是唯一支持的语言?
以下是我目前拥有的:

// current revision number of Vision
let revision = VNRecognizeTextRequest.currentRevision
var possibleLanguages: Array<String> = []

do {
    possibleLanguages = try VNRecognizeTextRequest.supportedRecognitionLanguages(for: .accurate, 
                                                                            revision: revision)
} catch {
    print("Error getting the supported languages.")
}

print("Possible languages for revision \(revision):\n(possibleLanguages.joined(separator: "\n"))")

任何帮助都将不胜感激,谢谢。

zpqajqem

zpqajqem1#

从iOS 14开始,VNRecognizeTextRequestRevision2在.accurate识别级别支持英语、法语、意大利语、德语、西班牙语、葡萄牙语和中文(简体和繁体)。

["en-US", "fr-FR", "it-IT", "de-DE", "es-ES", "pt-BR", "zh-Hans", "zh-Hant"]

.fast识别级别支持英语、法语、意大利语、德语、西班牙语和葡萄牙语。

["en-US", "fr-FR", "it-IT", "de-DE", "es-ES", "pt-BR"]

您可以使用以下代码段签入Playground:

try VNRecognizeTextRequest.supportedRecognitionLanguages(for: .fast, revision: 2)
tpxzln5u

tpxzln5u2#

iOS 15操作系统
在iOS 15中,您可以调用以下示例方法,该方法返回请求(VNRecognizeTextRequest)支持的语言的标识符:

func supportedRecognitionLanguages() throws -> [String]

您可以按以下方式使用它:

print(try! request.supportedRecognitionLanguages())

A.结果(如果使用.accurate识别级别):

// ["en-US", "fr-FR", "it-IT", "de-DE", "es-ES", "pt-BR", "zh-Hans", "zh-Hant"]

B.结果(如果使用.fast识别级别):

// ["en-US", "fr-FR", "it-IT", "de-DE", "es-ES", "pt-BR"]

recognitionLanguages属性

您可以使用recognitionLanguages示例属性轻松告知Vision框架文本识别需要哪些语言:

var recognitionLanguages: [String] { get set }

根据Apple documentationrecognitionLanguages定义在语言处理和文本识别过程中使用语言的顺序。将语言指定为ISO language codes
真实的代码可能如下所示:

import Vision

let recognizeTextRequest = VNRecognizeTextRequest()
recognizeTextRequest.minimumTextHeight = 0.05
recognizeTextRequest.recognitionLevel = .accurate

recognizeTextRequest.recognitionLanguages = ["en-US", "fr-FR", "zh-Hans"]
附言

2020年初,Vision仅支持英语。

xmd2e60i

xmd2e60i3#

对于iOS 16版本,此方法用于检查语言支持
print(try! VNRecognizeTextRequest().supportedRecognitionLanguages())
返回以下语言列表:

["en-US", "fr-FR", "it-IT", "de-DE", "es-ES", "pt-BR", "zh-Hans", "zh-Hant", "yue-Hans", "yue-Hant", "ko-KR", "ja-JP", "ru-RU", "uk-UA"]

相关问题