Skip to content

Latest commit

 

History

History
68 lines (46 loc) · 7.16 KB

File metadata and controls

68 lines (46 loc) · 7.16 KB
layout title description keywords
default-layout
Dynamsoft Document Normalizer iOS API Reference - Main Page
This is the main page of Dynamsoft Document Normalizer SDK API Reference for iOS Language.
Document Normalizer, api reference, iOS

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).

region-def

Modules hierarchical of the DDN SDK

The table below describes details the functionalities of these modules:

Module Description Mandatory/Optional
DynamsoftDocumentNormalizer.xcframework(DDN) The Dynamsoft Document Normalizer module extracts structural information from document images, including document boundaries, shadow areas, and text areas. It uses this information to generate normalized document images through processes such as deskewing, shadow removal, and distortion correction. Mandatory
DynamsoftCore.xcframework(Core) The Dynamsoft Core module lays the foundation for Dynamsoft SDKs based on the DCV (Dynamsoft Capture Vision) architecture. It encapsulates the basic classes, interfaces, and enumerations shared by these SDKs. Mandatory
DynamsoftCaptureVisionRouter.xcframework(CVR) The Dynamsoft Capture Vision Router module is the cornerstone of the Dynamsoft Capture Vision (DCV) architecture. It focuses on coordinating batch image processing and provides APIs for setting up image sources and result receivers, configuring workflows with parameters, and controlling processes. Mandatory
DynamsoftImageProcessing.xcframework(DIP) The Dynamsoft Image Processing module facilitates digital image processing and supports operations for other modules, including the Barcode Reader, Label Recognizer, and Document Normalizer. Mandatory
DynamsoftLicense.xcframework(License) The Dynamsoft License module manages the licensing aspects of Dynamsoft SDKs based on the DCV (Dynamsoft Capture Vision) architecture. Mandatory
DynamsoftCameraEnhancer.xcframework(DCE) The [Dynamsoft Camera Enhancer]({{ site.dce_ios_api }}){:target="_blank"} module controls the camera, transforming it into an image source for the DCV (Dynamsoft Capture Vision) architecture through ISA implementation. It also enhances image quality during acquisition and provides basic viewers for user interaction. Mandatory
DynamsoftUtility.xcframework(Utility) The Dynamsoft Utility module defines auxiliary classes, including the ImageManager, and implementations of the CRF (Captured Result Filter) and ISA (Image Source Adapter) . These are shared by all Dynamsoft SDKs based on the DCV (Dynamsoft Capture Vision) architecture. Optional

Main APIs

Capture Vision Router

The main class [DSCaptureVisionRouter]({{ site.dcv_ios_api }}capture-vision-router/capture-vision-router.html) acts as the SDK entry point and provides the following essential APIs:

  • [Set input]({{ site.dcv_ios_api }}capture-vision-router/multiple-file-processing.html#setinput)
  • [Config capture settings]({{ site.dcv_ios_api }}capture-vision-router/settings.html)
  • [Add result receiver]({{ site.dcv_ios_api }}capture-vision-router/multiple-file-processing.html#addresultreceiver)
  • [Start video stream boundary detection or document normalization]({{ site.dcv_ios_api }}capture-vision-router/multiple-file-processing.html#startcapturing)

Image Source Adapter

The [DSImageSourceAdapter]({{ site.dcv_ios_api }}core/basic-structures/image-source-adapter.html) 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 [DSCaptureVisionRouter]({{ site.dcv_ios_api }}capture-vision-router/capture-vision-router.html). You can either use the typical implementations of [DSImageSourceAdapter]({{ site.dcv_ios_api }}core/basic-structures/image-source-adapter.html) or implement your own.

Class [DSCameraEnhancer]({{ site.dce_ios_api }}primary-api/camera-enhancer.html) is one of the typical implementations of [DSImageSourceAdapter]({{ site.dcv_ios_api }}core/basic-structures/image-source-adapter.html). 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 detection or document normalization, you need to implement the [DSCapturedResultReceiver]({{ site.dcv_ios_api }}capture-vision-router/auxiliary-classes/captured-result-receiver.html) with [onDetectedQuadsReceived]({{ site.dcv_ios_api }}capture-vision-router/auxiliary-classes/captured-result-receiver.html#ondetectedquadsreceived) or [onNormalizedImagesReceived]({{ site.dcv_ios_api }}capture-vision-router/auxiliary-classes/captured-result-receiver.html#onnormalizedimagesreceived).

Boundary detection related APIs:

  • [onDetectedQuadsReceived]({{ site.dcv_ios_api }}capture-vision-router/auxiliary-classes/captured-result-receiver.html#ondetectedquadsreceived): The callback method for you to receive the boundary detetction results with a DSDetectedQuadsResult object.
  • DSDetectedQuadsResult: An object that contains all the DSDetectedQuadResultItem that obtained from a video frame.
  • DSDetectedQuadResultItem: The basic item that represents a single detected boundary as an quadrilateral with additional information.

Document Normalization related APIs:

Camera View

[DSCameraView]({{ site.dce_ios_api }}auxiliary-api/dcecameraview.html) is a view class that design for visualizing the real time video streaming and the boundary detection result. If the [DSCameraEnhancer]({{ site.dce_ios_api }}primary-api/camera-enhancer.html) is set as the input of your CVR, the detected boundaries will be highlighted automatically on the [DSCameraView]({{ site.dce_ios_api }}auxiliary-api/dcecameraview.html).