我正在尝试在我的应用程序中添加这个选项,以便在使用Apple的Vision框架识别文本时允许使用不同的语言。
这里似乎有以编程方式返回受支持的语言的一个函数,但我不确定是否正确调用它,因为我只得到"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"))")
任何帮助都将不胜感激,谢谢。
发布于 2020-03-12 12:56:01
iOS 15
在iOS 15中,可以调用以下实例方法,该方法返回请求(VNRecognizeTextRequest
)支持的语言的标识符:
func supportedRecognitionLanguages() throws -> [String]
你可以这样使用它:
print(try! request.supportedRecognitionLanguages())
结果(如果使用.accurate
recognitionLevel):
// ["en-US", "fr-FR", "it-IT", "de-DE", "es-ES", "pt-BR", "zh-Hans", "zh-Hant"]
B.结果(如果使用.fast
recognitionLevel):
// ["en-US", "fr-FR", "it-IT", "de-DE", "es-ES", "pt-BR"]
recognitionLanguages
性质
使用recognitionLanguages
实例属性,您可以很容易地分辨视觉框架需要哪些语言来进行文本识别:
var recognitionLanguages: [String] { get set }
根据苹果文档:recognitionLanguages
定义了语言在语言处理过程中的使用顺序,文本recognition.Specify将语言定义为ISO语言代码。
真正的代码可能如下所示:
import Vision
let recognizeTextRequest = VNRecognizeTextRequest()
recognizeTextRequest.minimumTextHeight = 0.05
recognizeTextRequest.recognitionLevel = .accurate
recognizeTextRequest.recognitionLanguages = ["en-US", "fr-FR", "zh-Hans"]
附注:
2020年初,“愿景”只支持英语。
发布于 2020-09-20 07:07:54
从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"]
您可以使用以下片段签入游乐场:
try VNRecognizeTextRequest.supportedRecognitionLanguages(for: .fast, revision: 2)
发布于 2022-09-15 04:58:17
对于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"]
https://stackoverflow.com/questions/58219769
复制相似问题