Summary: Nested Classes | Methods | Inherited Methods | [Expand All]
public final class

# TextRecognizer

extends Detector<TextBlock>

java.lang.Object
↳ | com.google.android.gms.vision.Detector<com.google.android.gms.vision.text.TextBlock>
| ↳ | com.google.android.gms.vision.text.TextRecognizer

## Class Overview

Finds and recognizes text in a supplied `Frame`. Build new TextRecognizer instances using `TextRecognizer.Builder`. Recognition results are returned by `detect(Frame)`. The OCR algorithm tries to infer the text layout and organizes each paragraph into `TextBlock` instances. If any text is detected, at least one `TextBlock` instance will be returned. Adding the ocr functionality dependency to your project's AndroidManifest.xml will indicate to the installer that it should download the dependency on application install.

## Summary

Nested Classes
class | TextRecognizer.Builder | TextRecognizer Builder.

Public Methods
SparseArray<TextBlock> | detect(Frame frame) Detects and recognizes text in a image.
boolean | isOperational() Indicates whether the detector has all of the required dependencies available locally in order to do detection.
void | release() Shuts down the detector, releasing any underlying resources.

[Expand] Inherited Methods
From class com.google.android.gms.vision.Detector
abstract SparseArray<TextBlock> | detect(Frame frame) Analyzes the supplied frame to find target item instances (e.g., the face detector finds faces).
boolean | isOperational() Indicates whether the detector has all of the required dependencies available locally in order to do detection.
void | receiveFrame(Frame frame) Pipeline method (see class level documentation above) for receiving frames for detection.
void | release() Shuts down the detector, releasing any underlying resources.
boolean | setFocus(int id) Sets the ID of the detected item in which to exclusively track in future use of the detector.
void | setProcessor(Processor<TextBlock> processor) Pipeline method (see class level documentation above) which sets the `Detector.Processor` instance.
From class java.lang.Object
Object | clone()
boolean | equals(Object arg0)
void | finalize()
final Class<?> | getClass()
int | hashCode()
final void | notify()
final void | notifyAll()
String | toString()
final void | wait(long arg0, int arg1)
final void | wait(long arg0)
final void | wait()

## Public Methods

#### public SparseArray<TextBlock> detect (Frame frame)

Detects and recognizes text in a image. Only supports bitmap and `NV21` for now.

##### Returns

- mapping of int to `TextBlock`, where the int domain represents an opaque ID for the text block.

#### public boolean isOperational ()

Indicates whether the detector has all of the required dependencies available locally in order to do detection.

When an app is first installed, it may be necessary to download required files. If this returns false, those files are not yet available. Usually this download is taken care of at application install time, but this is not guaranteed. In some cases the download may have been delayed.

If your code has added a processor, an indication of the detector operational state is also indicated with the `detectorIsOperational()` method. You can check this in your app as it processes detection results, and can convey this state to the user if appropriate.

##### Returns

- true if the detector is operational, false if the dependency download is in progress

#### public void release ()

Shuts down the detector, releasing any underlying resources.