Expand description
ppocr-rs — pipeline OCR PaddleOCR (PP-OCRv6) in puro Rust su ort 2.0.0-rc.9, downportato da meibel-ai/paddle-ocr-rs (Apache-2.0).
§Componenti
db_net— DBNet text detection (input immagine, output bbox).crnn_net— CRNN/SVTR text recognition (input crop, output stringa).angle_net— Classificatore orientamento per-line (0°/180°).layout— PP-DocLayoutV3 layout analysis (NOSTRA aggiunta — non presente in paddle-ocr-rs upstream).ocr_lite— Pipeline orchestrator det → cls → rec.ocr_utils— Helper image preprocessing (mean/std normalize, perspective warp).scale_param— Calcolo dimensioni resize-to-multiple-of-32.ocr_result— DTO: TextBox, TextLine, OcrResult.ocr_error— Error type unico viathiserror.compat— Shim per le differenze API ort rc.9 vs rc.11.
§Differenze rispetto a paddle-ocr-rs upstream
ortpinnato a=2.0.0-rc.9— versione target permanente del workspace (rc.11+ si blocca su ARM64 Snapdragon X Elite).ndarraya0.16(re-export di rc.9) invece di0.17(rc.11).- API
try_extract_tensorconvertita viacompat(shim permanente). - Modulo
layoutaggiunto per supportare PP-DocLayoutV3 — non presente in upstream. - Edition
2021invece di2024(per compat con il toolchain minimo del workspace).
Re-exports§
pub use ocr_error::OcrError;pub use ocr_lite::LayoutAwareResult;pub use ocr_lite::OcrLite;pub use ocr_lite::OcrOptions;pub use ocr_lite::TextBlockWithLayout;pub use ocr_result::Angle;pub use ocr_result::OcrResult;pub use ocr_result::Point;pub use ocr_result::TextBlock;pub use ocr_result::TextBox;pub use ocr_result::TextLine;pub use ocr_result::WordBox;pub use layout::LayoutAnalyzer;pub use layout::LayoutBox;pub use layout::LayoutClass;pub use layout::SemanticClass;pub use layout::LAYOUT_INPUT_SIZE;pub use layout::xy_cut_order;pub use cell_detection::CellDetector;pub use cell_detection::CellBbox;pub use cell_detection::derive_grid;pub use cell_detection::grid_to_gfm;pub use cell_detection::CELL_DETECT_INPUT_SIZE;pub use model_hub::ModelHub;pub use model_hub::ModelPaths;pub use model_hub::PpOcrVersion;pub use model_hub::PpStructureModel;pub use model_hub::StructureModelPaths;pub use table_classifier::TableTypeClassifier;pub use table_classifier::TableType;pub use table_classifier::DocOrientationClassifier;pub use table_classifier::DocOrientation;pub use table_structure::TableStructureRecognizer;pub use table_structure::TableStructure;pub use table_structure::TableCellBox;pub use table_structure::SLANEXT_INPUT_SIZE;pub use doc_unwarp::DocUnwarper;pub use doc_unwarp::UnwarpResult;pub use formula_rec::FormulaRecognizer;pub use formula_rec::FormulaResult;pub use formula_rec::FORMULA_INPUT_SIZE;
Modules§
- angle_
net - base_
net - cell_
detection - RT-DETR-L Cell Detection per tabelle (PaddleOCR PP-StructureV3 v2).
- compat
- Compat shim per la differenza API
try_extract_tensortra ort 2.0.0-rc.9 (qui pinnato) e 2.0.0-rc.11 (paddle-ocr-rs upstream). - crnn_
net - db_net
- doc_
unwarp - Document unwarping via UVDoc ONNX (PP-StructureV3 / PaddleX).
- formula_
rec - Formula recognition via PP-FormulaNet_plus-L ONNX (PP-StructureV3 v2).
- layout
- Layout analysis via PP-DocLayoutV3 (PaddleX
paddle3.0.0). - model_
hub - Download e cache locale dei modelli ONNX PP-OCRv6 da HuggingFace.
- ocr_
error - ocr_
lite - ocr_
result - ocr_
utils - scale_
param - table_
classifier - PP-LCNet classifiers: table type (wired/wireless) e document orientation.
- table_
structure - SLANeXt table structure recognition (PP-StructureV3 v2).