SDK Overview: Modules and Main APIs
This page provides an overview of the various modules and highlights the most essential APIs that form the backbone of Dynamsoft Document Normalizer SDK.
Modules Summary
The Dynamsoft Document Normalizer (DDN) SDK is built on the Dynamsoft Capture Vision (DCV) framework, which includes multiple modules working together to achieve boundary detection or document normalization. The hierarchical structure diagram below illustrates the various modules of the DDN SDK (with modules at the top depending on those below).
Modules hierarchical of the DDN SDK
The table below describes details the functionalities of these modules:
Module | Description | Mandatory/Optional |
---|---|---|
DynamsoftCaptureVisionRouter.aar (CVR) |
Provides APIs for single/multiple images processing, setting configurations, and other features. | Mandatory |
DynamsoftDocumentNormalizer.aar (DDN) |
This library mainly provides boundary detection & document normalization algorithms. It includes APIs for you to configure detection & normalization settings and obtaining the processing results. | Mandatory |
DynamsoftCore.aar (Core) |
Provides basic structures and intermediate result related APIs. | Mandatory |
DynamsoftImageProcessing.aar (DIP) |
This library mainly provides image processing algorithms. | Mandatory |
DynamsoftLicense.aar (License) |
Provides license activation or management APIs. | Mandatory |
DynamsoftCameraEnhancer.aar (DCE) |
The Dynamsoft Camera Enhancer (DCE) SDK provides camera control, camera enhancements, and basic UI configuration features. | Optional |
DynamsoftUtility.aar (Utility) |
The utility library, which includes multiple implementations of image source adapters, result filter, image exporter, and other utility APIs etc. | Optional |
Main APIs
Capture Vision Router
The main class CaptureVisionRouter
acts as the SDK entry point and provides the following essential APIs:
- Set input
- Config capture settings
- Add result receiver
- Start video stream boundary detection or document normalization
Image Source Adapter
The ImageSourceAdapter
class is an abstract class representing an adapter for image sources, providing a framework for fetching, buffering, and managing images from various sources. It serves as the input for the CaptureVisionRouter
. You can either use the typical implementations of ImageSourceAdapter
or implement your own.
Class CameraEnhancer
is one of the typical implementations of ImageSourceAdapter
. It is a class that not only implements the video frame obtaining APIs but also enable you to improve the video quality by adjusting the camera settings.
Captured Result Receiver
To receive the results of video streaming boundary detecting or document normalizing, you need to implement the CapturedResultReceiver
with onDetectedQuadsReceived
or onNormalizedImagesReceived
.
Boundary detection related APIs:
onDetectedQuadsReceived
: The callback method for you to receive the boundary detetction results with aDetectedQuadsResult
object.DetectedQuadsResult
: An object that contains all theDetectedQuadResultItem
that obtained from a video frame.DetectedQuadResultItem
: The basic item that represents a single detected boundary as an quadrilateral with additional information.
Document Normalization related APIs:
onNormalizedImagesReceived
: The callback method for you to receive the normalized image results with aNormalizedImagesResult
object.NormalizedImagesResult
: An object that contains all theNormalizedImageResultItem
that obtained from a video frame.NormalizedImageResultItem
: The basic item that represents a single normalized image with the image data and other information.
Camera View
CameraView
is a view class that design for visualizing the real time video streaming and the boundary detection result. If the CameraEnhancer
is set as the input of your CVR, the detected boundaries will be highlighted automatically on the CameraView
.