【发布时间】:2019-08-21 22:31:52
【问题描述】:
我正在使用 ml kit 文本识别创建一个名片应用程序。我有一个可以运行的应用程序,但发现在上传名片并提取文本时,文本会以一堆乱七八糟的形式返回,没有空格。
我需要逐行逐行提取文本。
有没有办法解决这个问题?
【问题讨论】:
标签: firebase-mlkit
我正在使用 ml kit 文本识别创建一个名片应用程序。我有一个可以运行的应用程序,但发现在上传名片并提取文本时,文本会以一堆乱七八糟的形式返回,没有空格。
我需要逐行逐行提取文本。
有没有办法解决这个问题?
【问题讨论】:
标签: firebase-mlkit
当识别操作成功时,一个FirebaseVisionText对象将被传递给成功监听器。 FirebaseVisionText 对象包含图像中识别的全文以及零个或多个 TextBlock 对象。
每个TextBlock 代表一个矩形文本块,其中包含零个或多个 Line 对象。每个 Line 对象包含零个或多个 Element 对象,它们表示单词和类似单词的实体(日期、数字等)。
对于每个TextBlock、Line、Element对象,可以获取区域内识别的文本以及区域的边界坐标。
例如:
val resultText = result.text
for (block in result.textBlocks) {
val blockText = block.text
val blockConfidence = block.confidence
val blockLanguages = block.recognizedLanguages
val blockCornerPoints = block.cornerPoints
val blockFrame = block.boundingBox
for (line in block.lines) {
val lineText = line.text
val lineConfidence = line.confidence
val lineLanguages = line.recognizedLanguages
val lineCornerPoints = line.cornerPoints
val lineFrame = line.boundingBox
for (element in line.elements) {
val elementText = element.text
val elementConfidence = element.confidence
val elementLanguages = element.recognizedLanguages
val elementCornerPoints = element.cornerPoints
val elementFrame = element.boundingBox
}
}
}
【讨论】: