Skip to content

Instantly share code, notes, and snippets.

@nagendrababu143
Created September 26, 2018 09:33
Show Gist options
  • Save nagendrababu143/83f63be744cd90eb398808d1f1c53422 to your computer and use it in GitHub Desktop.
Save nagendrababu143/83f63be744cd90eb398808d1f1c53422 to your computer and use it in GitHub Desktop.
/*
* Copyright (C) The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.google.android.gms.samples.vision.ocrreader;
import android.util.Log;
import android.util.SparseArray;
import com.google.android.gms.samples.vision.ocrreader.ui.camera.GraphicOverlay;
import com.google.android.gms.vision.Detector;
import com.google.android.gms.vision.text.TextBlock;
/**
* A very simple Processor which gets detected TextBlocks and adds them to the overlay
* as OcrGraphics.
* TODO: Make this implement Detector.Processor<TextBlock> and add text to the GraphicOverlay
*/
public class OcrDetectorProcessor implements Detector.Processor<TextBlock> {
private GraphicOverlay<OcrGraphic> graphicOverlay;
OcrDetectorProcessor(GraphicOverlay<OcrGraphic> ocrGraphicOverlay) {
graphicOverlay = ocrGraphicOverlay;
}
@Override
public void release() {
graphicOverlay.clear();
}
@Override
public void receiveDetections(Detector.Detections<TextBlock> detections) {
graphicOverlay.clear();
SparseArray<TextBlock> items = detections.getDetectedItems();
for (int i = 0; i < items.size(); ++i) {
TextBlock item = items.valueAt(i);
if (item != null && item.getValue() != null) {
Log.d("Processor", "Text detected! " + item.getValue());
OcrGraphic graphic = new OcrGraphic(graphicOverlay, item);
graphicOverlay.add(graphic);
}
}
}
// TODO: Once this implements Detector.Processor<TextBlock>, implement the abstract methods.
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment