UNPKG

paddleocr-js

Version:

JavaScript wrapper for PaddleOCR, providing OCR capabilities in browser and Node.js

86 lines (85 loc) 2.13 kB
import { PaddleOCROptions } from "../typings"; /** * 模型加载器 - 负责加载和管理OCR模型 */ export declare class ModelLoader { private options; private modelCache; private loadingPromises; private initialized; /** * 支持的文本检测模型 */ static readonly DETECTION_MODELS: string[]; /** * 支持的文本识别模型 */ static readonly RECOGNITION_MODELS: string[]; /** * 支持的布局分析模型 */ static readonly LAYOUT_MODELS: string[]; /** * 支持的表格识别模型 */ static readonly TABLE_MODELS: string[]; /** * 创建模型加载器实例 * @param options 配置选项 */ constructor(options: PaddleOCROptions); /** * 初始化模型加载器 */ init(): Promise<void>; /** * 初始化TensorFlow.js环境 */ private initTensorflow; /** * 安全地导入模块,处理可能不存在的模块 */ private safeImport; /** * 加载TensorFlow.js库 */ private loadTensorflow; /** * 初始化ONNX Runtime环境 */ private initONNX; /** * 加载模型 * @param modelType 模型类型,如'det'、'rec'、'layout'、'table' * @param modelName 模型名称 * @param language 语言(仅用于识别模型) */ loadModel(modelType: "det" | "rec" | "layout" | "table", modelName: string, language?: string): Promise<any>; /** * 使用TensorFlow.js加载模型 */ private loadTensorflowModel; /** * 使用ONNX Runtime加载模型 */ private loadONNXModel; /** * 预热TensorFlow.js模型 */ private warmupTensorflowModel; /** * 生成模型标识符 */ private getModelId; /** * 加载词汇表文件 * @param modelType 模型类型 * @param modelName 模型名称 * @param language 语言代码 */ loadVocab(modelType: "rec", modelName: string, language: string): Promise<string[]>; /** * 释放所有模型资源 */ dispose(): Promise<void>; }