import { OCRImageData as ImageData } from "./image"; import { Point, ImageSource } from "../typings"; /** * 通用图像处理工具类 * 统一提供预处理、裁剪、归一化等操作 * 消除各个模块之间的重复代码 */ export declare class ImageProcessor { /** * 标准化预处理:将图像数据转换为模型输入格式 * @param image 输入图像 * @param options 预处理选项 */ static preprocess(image: ImageData, options?: { toFloat32?: boolean; normalize?: boolean; scaleX?: number; scaleY?: number; }): { data: Float32Array | Uint8Array | Uint8ClampedArray; width: number; height: number; scaleX: number; scaleY: number; }; /** * 从图像中按多边形点裁剪区域 * @param image 源图像 * @param points 多边形顶点坐标 * @returns 裁剪后的图像数据 */ static cropRegion(image: ImageData, points: Point[]): ImageData; /** * 计算多边形边界框 * @param points 多边形顶点 */ static getBoundingBox(points: Point[]): { minX: number; minY: number; maxX: number; maxY: number; }; /** * 生成缓存键 * @param source 图像源标识 * @param options 处理选项 */ static generateCacheKey(source: ImageSource | string | Uint8Array, options?: { width?: number; height?: number; threshold?: number; mode?: string; }): string; private static simpleHash; private static arrayToString; }