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

Search for specific pattern in text using Android Mobile Vision API

我已经实现了一个使用 android 移动视觉 API 阅读文本的应用程序。但是有没有一种方法可以让我搜索特定的文本模式,例如搜索连续 10 位数字的位置或类似的东西。是否可以实现这个。

我们将不胜感激。

在 android 移动视觉 api 中,OcrDetectorProcessor class.

中有一个名为 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);
                }
            }
        }
    }