paddleocr-js
Version:
JavaScript wrapper for PaddleOCR, providing OCR capabilities in browser and Node.js
86 lines (85 loc) • 2.13 kB
TypeScript
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>;
}