如何使用 TextRecognizer 检测单词?它只能检测 TextBlocks

Posted

技术标签:

【中文标题】如何使用 TextRecognizer 检测单词?它只能检测 TextBlocks【英文标题】:How to Detect Words with TextRecognizer? It can only detect TextBlocks 【发布时间】:2018-02-23 11:58:47 【问题描述】:

我可以在下图中检测到像青色块这样的 TextBlock,但我想用 TextRecogniger 检测 Word

【问题讨论】:

【参考方案1】:

如果您查看参考 (https://developers.google.com/android/reference/com/google/android/gms/vision/text/TextBlock),您会看到在已识别的块中,您将拥有一个包含元素列表的行列表。

那么你应该在你的处理器类中使用类似这样的词:

@Override
public void receiveDetections(Detector.Detections<TextBlock> detections) 
    SparseArray<TextBlock> items = detections.getDetectedItems();
    for (int i = 0; i < items.size(); ++i) 
        TextBlock item = items.valueAt(i);
        List<Line> lines = (List<Line>) item.getComponents();
        for (Line line : lines) 
            List<Element> elements = (List<Element>) line.getComponents();
            for (Element element : elements) 
                String word = element.getValue();
            
        
    

【讨论】:

不使用上述参考中给出的 getComponent() 方法

以上是关于如何使用 TextRecognizer 检测单词?它只能检测 TextBlocks的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Google TextRecognizer 或 Tesseract 在相机帧的子集上执行 OCR

使用vb.net保存数据时如何检测是不是有相同的单词

如何检测键盘顶部的单词建议栏是不是显示?

如何使用带有水平线的谷歌视觉检测日语单词或使用 TEXT_DETECTION 检测文件中的文本 (PDF)

Javascript:如何检测单词是不是突出显示

Google Play Vision:定义 OCR 字符范围?