Class TextRecognizer
java.lang.Object
com.codename1.ai.vision.TextRecognizer
- All Implemented Interfaces:
VisionAnalyzer<TextRecognitionResult>, AutoCloseable
Reads the text in an image. The default recognizes the Latin script; select
VisionOptions.textScript(TextScript) to read Chinese, Devanagari,
Japanese or Korean text.
Reading a photographed receipt or label:
TextRecognizer recognizer = new TextRecognizer();
recognizer.process(VisionImage.fromFile(photoPath)).ready(result -> {
textArea.setText(result.getText());
recognizer.close();
}).except(error -> {
Log.e(error);
recognizer.close();
});
Reading text out of the live camera and stopping at the first line that looks like the value you want:
VisionCameraView<TextRecognitionResult> view =
new VisionCameraView<TextRecognitionResult>(new TextRecognizer());
view.setListener(new VisionPipelineListener<TextRecognitionResult>() {
public void result(TextRecognitionResult text, VisionImage source) {
for (TextRecognitionResult.TextBlock block : text.getBlocks()) {
if (block.getText().startsWith("SN-")) {
accept(block.getText());
return;
}
}
}
public void error(Throwable error) {
Log.e(error);
}
});
TextRecognitionResult.getText() is the whole page in reading order;
TextRecognitionResult.getBlocks() adds per-region text, confidence,
and normalized bounds. Recognize one script per analyzer -- create a second
analyzer when a screen needs two.
-
Constructor Summary
ConstructorsConstructorDescriptionCreates an analyzer using the platform default backend and options, reading the Latin script.TextRecognizer(VisionOptions options) Creates a reusable analyzer with explicit backend and result options. -
Method Summary
Modifier and TypeMethodDescriptionfinal voidclose()Idempotently releases the retained native backend.final booleanTests the exact feature/backend pair configured for this analyzer.process(VisionImage image) Starts one analysis using the retained native backend.
-
Constructor Details
-
TextRecognizer
public TextRecognizer()Creates an analyzer using the platform default backend and options, reading the Latin script.- See Also:
-
TextRecognizer
Creates a reusable analyzer with explicit backend and result options. The writing system comes fromVisionOptions.textScript(TextScript).- Parameters:
options- configuration captured by this analyzer;nulluses defaults
-
-
Method Details
-
isSupported
public final boolean isSupported()Description copied from interface:VisionAnalyzerTests the exact feature/backend pair configured for this analyzer.- Specified by:
isSupportedin interfaceVisionAnalyzer<T>- Returns:
- whether this analyzer's feature/backend is available and open
-
process
Starts one analysis using the retained native backend.- Specified by:
processin interfaceVisionAnalyzer<T>- Parameters:
image- immutable encoded or raw input- Returns:
- asynchronous typed result
-
close
public final void close()Idempotently releases the retained native backend.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceVisionAnalyzer<T>
-