如何使用 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