ml套件-文本识别输出问题

时间:2019-03-19 04:29:51

标签: firebase-mlkit

我正在使用ml套件文本识别创建名片应用程序。我有一个可以正常运行的应用程序,但是发现当上传名片并提取文本时,文本以乱七八糟的形式返回,没有空格。

我需要逐行逐字提取文本。

有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:0)

识别操作成功后,将FirebaseVisionText对象传递给成功侦听器。 FirebaseVisionText对象包含图像中识别的全文和零个或多个TextBlock对象

每个TextBlock代表一个矩形文本块,其中包含零个或多个Line对象。每个Line对象包含零个或多个Element对象,这些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
        }
    }
}

来源:MLKit documentation