Package io.scanbot.sdk.documentscanner
Class DocumentStraightener
java.lang.Object
io.scanbot.sdk.documentscanner.DocumentStraightener
- All Implemented Interfaces:
AutoCloseable
Provides functionality to straighten document photos by eliminating
physical deformations and surface warping, such as folds, creases,
wrinkles, crumples, page and geometric bends.
Required licence feature(s): DocumentScanner, ImageProcessing.
-
Constructor Summary
ConstructorsConstructorDescriptionConstructs DocumentStraightener with the given params. -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Closes native resources held by the object.protected voidfinalize()static booleanCheck if the specified straightening mode is available (i.e.run(ImageRef image, DocumentStraighteningParameters parameters, List<PointF> priorCornersNormalized) Straightens document photos by eliminating physical deformations and surface warping, such as folds, creases, wrinkles, crumples, page curls, and geometric bends.
-
Constructor Details
-
DocumentStraightener
Constructs DocumentStraightener with the given params.- Throws:
LicenseException- If license requirements for the API are not met
-
-
Method Details
-
run
public DocumentStraighteningResult run(ImageRef image, DocumentStraighteningParameters parameters, List<PointF> priorCornersNormalized) throws InvalidImageRefException, LicenseException Straightens document photos by eliminating physical deformations and surface warping, such as folds, creases, wrinkles, crumples, page curls, and geometric bends.- Parameters:
image- The image of the document to straighten.parameters- The parameters to use for straightening.priorCornersNormalized- If it is known where the document corners (e.g. from a prior detection), those can be provided here. The enhancer may take them into account to locate the document more accurately. As part of the straightening process, it may be necessary to detect the document corners. That's why providing them here can speed up the process (given the corners are already available). Corners must be provided in the clockwise order: top-left, top-right, bottom-right, bottom-left. The coordinates must be normalized to the range [0, 1] relative to the image dimensions. For x coordinates, 0 corresponds to the left edge of the image and 1 to the right edge. For y coordinates, 0 corresponds to the top edge of the image and 1 to the bottom edge. Note, that when a coordinate is normalized, correct formula for x coordinate is: x_normalized = x_pixel / (image_width - 1), and for y coordinate is: y_normalized = y_pixel / (image_height - 1).- Returns:
- The detection result.
- Throws:
InvalidImageRefException- If an invalid image reference is usedLicenseException- If license requirements for the API are not met
-
isStraighteningModeAvailable
Check if the specified straightening mode is available (i.e. required assets are present).- Parameters:
mode- The straightening mode to check.- Returns:
- True if the straightening mode is available, false otherwise.
-
close
public void close()Closes native resources held by the object.- Specified by:
closein interfaceAutoCloseable
-
finalize
-