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
TypeScript
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 };