Class DocumentScanner
java.lang.Object
com.codename1.ai.vision.DocumentScanner
- All Implemented Interfaces:
VisionAnalyzer<DocumentScanResult>, AutoCloseable
Finds a page in a photo and returns it flattened, with the perspective corrected.
DocumentScanner scanner = new DocumentScanner();
if (!scanner.isSupported()) {
// Android's document scanner is an interactive Google flow rather than
// an analyzer, so this reports unsupported there.
scanner.close();
return;
}
scanner.process(VisionImage.fromFile(photoPath)).ready(result -> {
for (int i = 0; i < result.getPageCount(); i++) {
pages.add(EncodedImage.create(result.getPage(i)));
}
scanner.close();
}).except(error -> {
Log.e(error);
scanner.close();
});
This is a still-image analyzer: capture the photo however you like -- the
Capture API, a
CameraSession, or the gallery -- and hand the
bytes over.
-
Constructor Summary
ConstructorsConstructorDescriptionCreates an analyzer using the platform default backend and options.DocumentScanner(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.final AsyncResource<DocumentScanResult> process(VisionImage image) Starts one analysis using the retained native backend.
-
Constructor Details
-
DocumentScanner
public DocumentScanner()Creates an analyzer using the platform default backend and options.- See Also:
-
DocumentScanner
Creates a reusable analyzer with explicit backend and result options.- 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>
-