@SuppressWarnings("unused")
	private OcrResult getOcrResult() {
    OcrResult ocrResult;
    String textResult;
    long start = System.currentTimeMillis();

    try {     
      baseApi.setImage(ReadFile.readBitmap(bitmap));
      textResult = baseApi.getUTF8Text();
      timeRequired = System.currentTimeMillis() - start;

      // Check for failure to recognize text
      if (textResult == null || textResult.equals("")) {
        return null;
      }
      ocrResult = new OcrResult();
      ocrResult.setWordConfidences(baseApi.wordConfidences());
      ocrResult.setMeanConfidence( baseApi.meanConfidence());
      if (ViewfinderView.DRAW_REGION_BOXES) {
        Pixa regions = baseApi.getRegions();
        ocrResult.setRegionBoundingBoxes(regions.getBoxRects());
        regions.recycle();
      }
      if (ViewfinderView.DRAW_TEXTLINE_BOXES) {
        Pixa textlines = baseApi.getTextlines();
        ocrResult.setTextlineBoundingBoxes(textlines.getBoxRects());
        textlines.recycle();
      }
      if (ViewfinderView.DRAW_STRIP_BOXES) {
        Pixa strips = baseApi.getStrips();
        ocrResult.setStripBoundingBoxes(strips.getBoxRects());
        strips.recycle();
      }
      
      // Always get the word bounding boxes--we want it for annotating the bitmap after the user
      // presses the shutter button, in addition to maybe wanting to draw boxes/words during the
      // continuous mode recognition.
      Pixa words = baseApi.getWords();
      ocrResult.setWordBoundingBoxes(words.getBoxRects());
      words.recycle();
      
//      if (ViewfinderView.DRAW_CHARACTER_BOXES || ViewfinderView.DRAW_CHARACTER_TEXT) {
//        ocrResult.setCharacterBoundingBoxes(baseApi.getCharacters().getBoxRects());
//      }
    } catch (RuntimeException e) {
      Log.e("OcrRecognizeAsyncTask", "Caught RuntimeException in request to Tesseract. Setting state to CONTINUOUS_STOPPED.");
      e.printStackTrace();
      try {
        baseApi.clear();
        activity.stopHandler();
      } catch (NullPointerException e1) {
        // Continue
      }
      return null;
    }
    timeRequired = System.currentTimeMillis() - start;
    ocrResult.setBitmap(bitmap);
    ocrResult.setText(textResult);
    ocrResult.setRecognitionTimeRequired(timeRequired);
    return ocrResult;
  }
Perform an OCR decode for realtime recognition mode.
 
@param data Image data
@param width Image width
@param height Image height
OCRTest/src/main/java/edu/sfsu/cs/orange/ocr/DecodeHandler.java