UNPKG

dynamsoft-document-normalizer

Version:

Dynamsoft Document Normalizer (DDN) is an SDK designed to detect quadrilaterals (quads for short) such as document/table boundaries and more from images, then perform document normalization on the images in the detected quads.

133 lines (117 loc) 5.04 kB
import { CapturedResultItem, Quadrilateral, EnumCrossVerificationStatus, ImageTag, DSImageData, IntermediateResultExtraInfo, IntermediateResultUnit, Edge, Corner, RegionObjectElement, LineSegment } from 'dynamsoft-core'; declare class DocumentNormalizerModule { static getVersion(): string; setThresholdValue(cvr: any, threshold: number, leftLimit: number, rightLimit: number): Promise<void>; } /** * `EnumImageColourMode` determines the output colour mode of the normalized image. */ declare enum EnumImageColourMode { /** Output image in color mode. */ ICM_COLOUR = 0, /** Output image in grayscale mode. */ ICM_GRAYSCALE = 1, /** Output image in binary mode. */ ICM_BINARY = 2 } interface DetectedQuadResultItem extends CapturedResultItem { location: Quadrilateral; confidenceAsDocumentBoundary: number; /** Indicates whether the DetectedQuadResultItem has passed corss verification. */ CrossVerificationStatus: EnumCrossVerificationStatus; } interface DetectedQuadsResult { readonly originalImageHashId: string; readonly originalImageTag: ImageTag; readonly errorCode: number; readonly errorString: string; detectedQuadResultItems: Array<DetectedQuadResultItem>; } declare module "dynamsoft-capture-vision-router" { interface CapturedResultReceiver { onDetectedQuadsReceived?: (result: DetectedQuadsResult) => void; } interface CapturedResultFilter { onDetectedQuadsReceived?: (result: DetectedQuadsResult) => void; } } interface NormalizedImageResultItem extends CapturedResultItem { imageData: DSImageData; location: Quadrilateral; toCanvas: () => HTMLCanvasElement; toImage: (MIMEType: "image/png" | "image/jpeg") => HTMLImageElement; toBlob: (MIMEType: "image/png" | "image/jpeg") => Promise<Blob>; saveToFile: (name: string, download?: boolean) => Promise<File>; } interface NormalizedImagesResult { readonly originalImageHashId: string; readonly originalImageTag: ImageTag; readonly errorCode: number; readonly errorString: string; normalizedImageResultItems: Array<NormalizedImageResultItem>; } declare module "dynamsoft-capture-vision-router" { interface CapturedResultReceiver { onNormalizedImagesReceived?: (result: NormalizedImagesResult) => void; } interface CapturedResultFilter { onNormalizedImagesReceived?: (result: NormalizedImagesResult) => void; } } interface CandidateQuadEdgesUnit extends IntermediateResultUnit { candidateQuadEdges: Array<Edge>; } declare module "dynamsoft-capture-vision-router" { interface IntermediateResultReceiver { onCandidateQuadEdgesUnitReceived?: (result: CandidateQuadEdgesUnit, info: IntermediateResultExtraInfo) => void; } } interface CornersUnit extends IntermediateResultUnit { corners: Array<Corner>; } declare module "dynamsoft-capture-vision-router" { interface IntermediateResultReceiver { onCornersUnitReceived?: (result: CornersUnit, info: IntermediateResultExtraInfo) => void; } } interface DetectedQuadElement extends RegionObjectElement { confidenceAsDocumentBoundary: number; } interface DetectedQuadsUnit extends IntermediateResultUnit { detectedQuads: Array<DetectedQuadElement>; } declare module "dynamsoft-capture-vision-router" { interface IntermediateResultReceiver { onDetectedQuadsReceived?: (result: DetectedQuadsUnit, info: IntermediateResultExtraInfo) => void; } } interface LongLinesUnit extends IntermediateResultUnit { longLines: Array<LineSegment>; } declare module "dynamsoft-capture-vision-router" { interface IntermediateResultReceiver { onLongLinesUnitReceived?: (result: LongLinesUnit, info: IntermediateResultExtraInfo) => void; } } interface LogicLinesUnit extends IntermediateResultUnit { /** An array of logic line segments detected within the image. */ logicLines: Array<LineSegment>; } declare module "dynamsoft-capture-vision-router" { interface IntermediateResultReceiver { onLogicLinesReceived?: (result: LogicLinesUnit, info: IntermediateResultExtraInfo) => void; } } interface NormalizedImageElement extends RegionObjectElement { imageData: DSImageData; referencedElement: RegionObjectElement; } interface NormalizedImagesUnit extends IntermediateResultUnit { normalizedImages: Array<NormalizedImageElement>; } declare module "dynamsoft-capture-vision-router" { interface IntermediateResultReceiver { onNormalizedImagesReceived?: (result: NormalizedImagesUnit, info: IntermediateResultExtraInfo) => void; } } export { CandidateQuadEdgesUnit, CornersUnit, DetectedQuadElement, DetectedQuadResultItem, DetectedQuadsResult, DetectedQuadsUnit, DocumentNormalizerModule, EnumImageColourMode, LogicLinesUnit, LongLinesUnit, NormalizedImageElement, NormalizedImageResultItem, NormalizedImagesResult, NormalizedImagesUnit };