哪些语言可用于 Vision 框架中的文本识别?
Which languages are available for text recognition in Vision framework?
我正在尝试向我的应用添加选项,以便在使用 Apple 的 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"))")
非常感谢任何帮助,谢谢。
iOS 15
在iOS15中你可以调用下面的实例方法returns请求(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"]
乙。结果(如果您使用 .fast
recognitionLevel):
// ["en-US", "fr-FR", "it-IT", "de-DE", "es-ES", "pt-BR"]
recognitionLanguages
属性
您可以使用 recognitionLanguages
实例轻松告诉 Vision 框架文本识别需要哪些语言 属性:
var recognitionLanguages: [String] { get set }
根据Apple documentation: recognitionLanguages
defines the order in which languages are used during language processing and text recognition.Specify the languages as ISO language codes。
真实的代码可能是这样的:
import Vision
let recognizeTextRequest = VNRecognizeTextRequest()
recognizeTextRequest.minimumTextHeight = 0.05
recognizeTextRequest.recognitionLevel = .accurate
recognizeTextRequest.recognitionLanguages = ["en-US", "fr-FR", "zh-Hans"]
P.S.
2020 年初,Vision 仅支持英语。
从 iOS14 开始,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)
我正在尝试向我的应用添加选项,以便在使用 Apple 的 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"))")
非常感谢任何帮助,谢谢。
iOS 15
在iOS15中你可以调用下面的实例方法returns请求(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"]
乙。结果(如果您使用 .fast
recognitionLevel):
// ["en-US", "fr-FR", "it-IT", "de-DE", "es-ES", "pt-BR"]
recognitionLanguages
属性
您可以使用 recognitionLanguages
实例轻松告诉 Vision 框架文本识别需要哪些语言 属性:
var recognitionLanguages: [String] { get set }
根据Apple documentation: recognitionLanguages
defines the order in which languages are used during language processing and text recognition.Specify the languages as ISO language codes。
真实的代码可能是这样的:
import Vision
let recognizeTextRequest = VNRecognizeTextRequest()
recognizeTextRequest.minimumTextHeight = 0.05
recognizeTextRequest.recognitionLevel = .accurate
recognizeTextRequest.recognitionLanguages = ["en-US", "fr-FR", "zh-Hans"]
P.S.
2020 年初,Vision 仅支持英语。
从 iOS14 开始,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)