代码之家  ›  专栏  ›  技术社区  ›  Douglas Hosea

使用Android Mobile Vision API搜索文本中的特定模式

  •  3
  • Douglas Hosea  · 技术社区  · 8 年前

    我们将不胜感激。

    1 回复  |  直到 8 年前
        1
  •  0
  •   user5080280 user5080280    7 年前

    在android mobile vision api中,OcrDetectorProcessor类中有一种称为receiveDetections的方法。

    在屏幕上检测到字符。

    @Override
        public void receiveDetections(Detector.Detections<TextBlock> detections) {
            mGraphicOverlay.clear();
            SparseArray<TextBlock> items = detections.getDetectedItems();
            for (int i = 0; i < items.size(); ++i) {
                TextBlock item = items.valueAt(i);
                OcrGraphic graphic = new OcrGraphic(mGraphicOverlay, item);
                mGraphicOverlay.add(graphic);
            }
        }
    

    您可以编辑此方法以过滤检测到的字符,并仅向用户显示您想要显示的内容。因此,如果根据您的问题,您想显示任何包含10个字符的字符串,您可以通过将该方法编辑为以下内容来实现,

    @Override
        public void receiveDetections(Detector.Detections<TextBlock> detections) {
            if(stopScan){
                SparseArray<TextBlock> items = detections.getDetectedItems();
                for (int i = 0; i < items.size(); ++i) {
                    TextBlock item = items.valueAt(i);
    
            //verify string here
                    if (item.getValue().length() == 10) {
                        OcrGraphic graphic = new OcrGraphic(mGraphicOverlay, item);
                        mGraphicOverlay.add(graphic);
                    }
                }
            }
        }