2017-07-01 1 views
2

Ich habe eine funktionierende Implementierung einer App, die die Android Mobile Vision API verwendet, um Text zu lesen. Aber gibt es einen Weg, auf dem ich nach einem bestimmten Textmuster suchen kann, um zum Beispiel nach 10 Stellen in einer Reihe oder ähnlichem zu suchen. Ist es möglich, dies zu implementieren?Suche nach bestimmten Muster in Text mit Android Mobile Vision API

Alle Hilfe wird geschätzt.

+2

Mobile Vision liefert Ihnen Strings mit ihren Positionen. Verketten Sie sie und wenden Sie Regex an. das ist es. – eden

Antwort

0

In der Android Mobile Vision API gibt es eine Methode namens ReceiveDetections innerhalb der OcrDetectorProcessor-Klasse.

Diese Methode recieves alle Zeichen, die durch die Kamera erfasst worden sind, und es ist das Standardverhalten wird auf dem Bildschirm erfasst jeden einzelnen Zeichen anzuzeigen.

Sie können diese Methode bearbeiten, um die erkannten Zeichen zu filtern und nur anzuzeigen, was Sie dem Benutzer anzeigen möchten. Wenn Sie also beispielsweise eine beliebige Zeichenfolge mit 10 Zeichen anzeigen möchten, können Sie dies tun, indem Sie die folgende Methode bearbeiten:

@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); 
       } 
      } 
     } 
    } 
Verwandte Themen