openocr-python 0.1.3__tar.gz → 0.1.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {openocr_python-0.1.3/openocr_python.egg-info → openocr-python-0.1.4}/PKG-INFO +5 -27
- {openocr_python-0.1.3 → openocr-python-0.1.4}/QUICKSTART.md +2 -1
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/__init__.py +1 -1
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openocr.py +81 -40
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/infer_doc_onnx.py +247 -39
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/infer_unirec_onnx.py +79 -2
- {openocr_python-0.1.3 → openocr-python-0.1.4/openocr_python.egg-info}/PKG-INFO +5 -27
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr_python.egg-info/requires.txt +1 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/pyproject.toml +2 -1
- {openocr_python-0.1.3 → openocr-python-0.1.4}/LICENSE +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/MANIFEST.in +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/dataset/rec/evaluation.yaml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/dataset/rec/ltb.yaml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/dataset/rec/mjsynth.yaml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/dataset/rec/openvino.yaml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/dataset/rec/ost.yaml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/dataset/rec/synthtext.yaml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/dataset/rec/test.yaml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/dataset/rec/textocr.yaml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/dataset/rec/textocr_horizontal.yaml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/dataset/rec/union14m_b.yaml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/dataset/rec/union14m_l_filtered.yaml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/det/dbnet/repvit_db.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/abinet/resnet45_trans_abinet_lang.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/abinet/resnet45_trans_abinet_wo_lang.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/abinet/svtrv2_abinet_lang.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/abinet/svtrv2_abinet_wo_lang.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/aster/resnet31_lstm_aster_tps_on.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/aster/svtrv2_aster.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/aster/svtrv2_aster_tps_on.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/autostr/autostr_lstm_aster_tps_on.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/busnet/svtrv2_busnet.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/busnet/svtrv2_busnet_pretraining.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/busnet/vit_busnet.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/busnet/vit_busnet_pretraining.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/cam/convnextv2_cam_tps_on.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/cam/convnextv2_tiny_cam_tps_on.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/cam/svtrv2_cam_tps_on.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/cdistnet/resnet45_trans_cdistnet.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/cdistnet/svtrv2_cdistnet.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/cmer/cmer.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/cppd/svtr_base_cppd.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/cppd/svtr_base_cppd_ch.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/cppd/svtr_base_cppd_h8.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/cppd/svtr_base_cppd_syn.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/cppd/svtrv2_cppd.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/dan/resnet45_fpn_dan.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/dan/svtrv2_dan.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/dptr/dptr_parseq_pretrain.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/focalsvtr/focalsvtr_ctc.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/gtc/svtrv2_lnconv_nrtr_gtc.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/gtc/svtrv2_lnconv_smtr_gtc_long_infer.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/gtc/svtrv2_lnconv_smtr_gtc_smtr_long.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/gtc/svtrv2_lnconv_smtr_gtc_stream.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/igtr/svtr_base_ds_igtr.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/lister/focalsvtr_lister_wo_fem_maxratio12.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/lister/svtrv2_lister_wo_fem_maxratio12.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/lpv/svtr_base_lpv.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/lpv/svtr_base_lpv_wo_glrm.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/lpv/svtrv2_lpv.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/lpv/svtrv2_lpv_wo_glrm.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/maerec/vit_nrtr.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/matrn/resnet45_trans_matrn.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/matrn/svtrv2_matrn.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/mdiff4str/svtrv2_mdiffdecoder_base.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/mdiff4str/svtrv2_mdiffdecoder_small.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/mgpstr/svtrv2_mgpstr_only_char.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/mgpstr/vit_base_mgpstr_only_char.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/mgpstr/vit_large_mgpstr_only_char.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/mgpstr/vit_mgpstr.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/mgpstr/vit_mgpstr_only_char.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/moran/resnet31_lstm_moran.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/nrtr/focalsvtr_nrtr_maxraio12.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/nrtr/nrtr.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/nrtr/svtr_base_nrtr.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/nrtr/svtr_base_nrtr_syn.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/nrtr/svtrv2_nrtr.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/ote/svtr_base_h8_ote.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/ote/svtr_base_ote.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/parseq/focalsvtr_parseq_maxratio12.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/parseq/svrtv2_parseq.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/parseq/vit_parseq.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/robustscanner/resnet31_robustscanner.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/robustscanner/svtrv2_robustscanner.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/sar/resnet31_lstm_sar.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/sar/svtrv2_sar.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/seed/resnet31_lstm_seed_tps_on.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/smtr/focalsvtr_smtr.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/smtr/focalsvtr_smtr_long.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/smtr/svtrv2_smtr.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/smtr/svtrv2_smtr_bi.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/srn/resnet50_fpn_srn.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/srn/svtrv2_srn.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/svtrs/convnextv2_ctc.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/svtrs/convnextv2_h8_ctc.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/svtrs/convnextv2_h8_rctc.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/svtrs/convnextv2_rctc.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/svtrs/convnextv2_tiny_h8_ctc.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/svtrs/convnextv2_tiny_h8_rctc.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/svtrs/crnn_ctc.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/svtrs/crnn_ctc_long.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/svtrs/focalnet_base_ctc.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/svtrs/focalnet_base_rctc.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/svtrs/focalsvtr_ctc.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/svtrs/focalsvtr_rctc.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/svtrs/resnet45_trans_ctc.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/svtrs/resnet45_trans_rctc.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/svtrs/svtr_base_ctc.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/svtrs/svtr_base_rctc.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/svtrs/svtrnet_ctc_syn.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/svtrs/vit_ctc.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/svtrs/vit_rctc.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/svtrv2/repsvtr_ch.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/svtrv2/svtrv2_ch.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/svtrv2/svtrv2_ctc.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/svtrv2/svtrv2_rctc.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/svtrv2/svtrv2_small_rctc.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/svtrv2/svtrv2_smtr_gtc_rctc.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/svtrv2/svtrv2_smtr_gtc_rctc_ch.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/svtrv2/svtrv2_smtr_gtc_rctc_infer.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/svtrv2/svtrv2_tiny_rctc.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/unirec/focalsvtr_ardecoder_unirec.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/unirec/opendoc_pipeline.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/visionlan/resnet45_trans_visionlan_LA.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/visionlan/resnet45_trans_visionlan_LF_1.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/visionlan/resnet45_trans_visionlan_LF_2.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/visionlan/svtrv2_visionlan_LA.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/visionlan/svtrv2_visionlan_LF_1.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/configs/rec/visionlan/svtrv2_visionlan_LF_2.yml +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/demo_gradio.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/demo_opendoc.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/demo_unirec.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/opendet/losses/__init__.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/opendet/losses/db_loss.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/opendet/losses/det_basic_loss.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/opendet/metrics/__init__.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/opendet/metrics/det_metric.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/opendet/metrics/eval_det_iou.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/opendet/modeling/__init__.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/opendet/modeling/backbones/__init__.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/opendet/modeling/backbones/repvit.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/opendet/modeling/base_detector.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/opendet/modeling/heads/__init__.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/opendet/modeling/heads/db_head.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/opendet/modeling/necks/__init__.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/opendet/modeling/necks/db_fpn.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/opendet/postprocess/__init__.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/opendet/postprocess/db_postprocess.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/opendet/preprocess/__init__.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/opendet/preprocess/crop_paste.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/opendet/preprocess/crop_resize.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/opendet/preprocess/db_label_encode.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/opendet/preprocess/db_resize_for_test.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/opendet/preprocess/iaa_augment.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/losses/__init__.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/losses/abinet_loss.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/losses/ar_loss.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/losses/cam_loss.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/losses/cdistnet_loss.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/losses/ce_loss.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/losses/cmer_loss.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/losses/cppd_loss.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/losses/ctc_loss.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/losses/igtr_loss.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/losses/lister_loss.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/losses/lpv_loss.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/losses/mdiff_loss.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/losses/mgp_loss.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/losses/parseq_loss.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/losses/robustscanner_loss.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/losses/seed_loss.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/losses/smtr_loss.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/losses/srn_loss.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/losses/unirec_loss.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/losses/visionlan_loss.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/metrics/__init__.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/metrics/rec_metric.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/metrics/rec_metric_cmer.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/metrics/rec_metric_gtc.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/metrics/rec_metric_long.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/metrics/rec_metric_mgp.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/__init__.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/base_recognizer.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/cmer_modeling/modeling_cmer.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/common.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/decoders/__init__.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/decoders/abinet_decoder.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/decoders/aster_decoder.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/decoders/bus_decoder.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/decoders/cam_decoder.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/decoders/cdistnet_decoder.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/decoders/cppd_decoder.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/decoders/ctc_decoder.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/decoders/dan_decoder.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/decoders/dptr_parseq_clip_b_decoder.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/decoders/igtr_decoder.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/decoders/lister_decoder.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/decoders/lpv_decoder.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/decoders/matrn_decoder.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/decoders/mdiff_decoder.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/decoders/mgp_decoder.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/decoders/nrtr_decoder.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/decoders/ote_decoder.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/decoders/parseq_decoder.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/decoders/rctc_decoder.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/decoders/robustscanner_decoder.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/decoders/sar_decoder.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/decoders/smtr_decoder.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/decoders/smtr_decoder_nattn.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/decoders/srn_decoder.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/decoders/visionlan_decoder.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/encoders/__init__.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/encoders/autostr_encoder.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/encoders/cam_encoder.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/encoders/convnextv2.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/encoders/focalsvtr.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/encoders/nrtr_encoder.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/encoders/rec_hgnet.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/encoders/rec_lcnetv3.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/encoders/rec_mobilenet_v3.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/encoders/rec_mv1_enhance.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/encoders/rec_nrtr_mtb.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/encoders/rec_resnet_31.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/encoders/rec_resnet_45.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/encoders/rec_resnet_fpn.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/encoders/rec_resnet_vd.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/encoders/repvit.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/encoders/resnet31_rnn.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/encoders/svtrnet.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/encoders/svtrnet2dpos.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/encoders/svtrv2.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/encoders/svtrv2_lnconv.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/encoders/svtrv2_lnconv_two33.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/encoders/vit.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/transforms/__init__.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/transforms/aster_tps.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/transforms/moran.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/transforms/tps.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/unirec_modeling/configuration_unirec.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/modeling/unirec_modeling/modeling_unirec.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/optimizer/__init__.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/optimizer/lr.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/postprocess/__init__.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/postprocess/abinet_postprocess.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/postprocess/ar_postprocess.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/postprocess/ce_postprocess.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/postprocess/char_postprocess.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/postprocess/cmer_postprocess.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/postprocess/cppd_postprocess.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/postprocess/ctc_postprocess.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/postprocess/igtr_postprocess.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/postprocess/lister_postprocess.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/postprocess/mgp_postprocess.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/postprocess/nrtr_postprocess.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/postprocess/smtr_postprocess.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/postprocess/srn_postprocess.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/postprocess/unirec_postprocess.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/postprocess/visionlan_postprocess.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/preprocess/__init__.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/preprocess/abinet_aug.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/preprocess/abinet_label_encode.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/preprocess/ar_label_encode.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/preprocess/auto_augment.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/preprocess/cam_label_encode.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/preprocess/ce_label_encode.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/preprocess/char_label_encode.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/preprocess/cmer_label_encode.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/preprocess/cppd_label_encode.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/preprocess/ctc_label_encode.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/preprocess/dptr_label_encode.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/preprocess/ep_label_encode.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/preprocess/igtr_label_encode.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/preprocess/mdiff_label_encode.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/preprocess/mgp_label_encode.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/preprocess/parseq_aug.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/preprocess/rec_aug.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/preprocess/resize.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/preprocess/smtr_label_encode.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/preprocess/srn_label_encode.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/preprocess/unirec_label_encode.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/openrec/preprocess/visionlan_label_encode.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/__init__.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/create_lmdb_dataset.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/data/__init__.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/data/cmer_web_dataset.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/data/collate_fn.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/data/lmdb_dataset.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/data/lmdb_dataset_test.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/data/multi_scale_sampler.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/data/native_size_dataset.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/data/native_size_sampler.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/data/ratio_dataset.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/data/ratio_dataset_test.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/data/ratio_dataset_tvresize.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/data/ratio_dataset_tvresize_test.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/data/ratio_sampler.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/data/simple_dataset.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/data/strlmdb_dataset.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/data/text_lmdb_dataset.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/download/download_dataset.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/download/utils.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/download_example_images.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/engine/config.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/engine/trainer.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/eval_det.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/eval_rec.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/eval_rec_all_ch.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/eval_rec_all_en.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/eval_rec_all_long.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/eval_rec_all_long_simple.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/export_rec.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/infer/onnx_engine.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/infer/predict_rec.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/infer/utility.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/infer_det.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/infer_doc.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/infer_e2e.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/infer_e2e_parallel.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/infer_rec.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/to_markdown.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/toonnx.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/train_det.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/train_rec.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utility.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/EN_symbol_dict.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/__init__.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/ckpt.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/dict/ar_dict.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/dict/arabic_dict.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/dict/be_dict.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/dict/bg_dict.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/dict/chinese_cht_dict.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/dict/cyrillic_dict.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/dict/devanagari_dict.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/dict/en_dict.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/dict/fa_dict.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/dict/french_dict.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/dict/german_dict.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/dict/hi_dict.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/dict/it_dict.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/dict/japan_dict.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/dict/ka_dict.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/dict/kie_dict/xfund_class_list.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/dict/korean_dict.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/dict/latex_symbol_dict.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/dict/latin_dict.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/dict/layout_dict/layout_cdla_dict.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/dict/layout_dict/layout_publaynet_dict.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/dict/layout_dict/layout_table_dict.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/dict/mr_dict.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/dict/ne_dict.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/dict/oc_dict.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/dict/pu_dict.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/dict/rs_dict.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/dict/rsc_dict.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/dict/ru_dict.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/dict/spin_dict.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/dict/ta_dict.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/dict/table_dict.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/dict/table_master_structure_dict.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/dict/table_structure_dict.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/dict/table_structure_dict_ch.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/dict/te_dict.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/dict/ug_dict.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/dict/uk_dict.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/dict/ur_dict.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/dict/xi_dict.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/dict90.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/e2e_metric/Deteval.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/e2e_metric/polygon_fast.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/e2e_utils/extract_batchsize.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/e2e_utils/extract_textpoint_fast.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/e2e_utils/extract_textpoint_slow.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/e2e_utils/pgnet_pp_utils.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/e2e_utils/visual.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/en_dict.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/gen_label.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/ic15_dict.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/logging.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/opendoc_onnx_utils/utils.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/poly_nms.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/ppocr_keys_v1.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/stats.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/utility.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr/tools/utils/visual.py +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr_python.egg-info/SOURCES.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr_python.egg-info/dependency_links.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr_python.egg-info/entry_points.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr_python.egg-info/not-zip-safe +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/openocr_python.egg-info/top_level.txt +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/setup.cfg +0 -0
- {openocr_python-0.1.3 → openocr-python-0.1.4}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
2
|
Name: openocr-python
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.4
|
|
4
4
|
Summary: Accurate and Efficient General OCR System
|
|
5
5
|
Home-page: https://github.com/Topdu/OpenOCR
|
|
6
6
|
Author: OCR Team, FVL Lab
|
|
@@ -26,34 +26,11 @@ Classifier: Topic :: Scientific/Engineering :: Image Recognition
|
|
|
26
26
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
27
27
|
Requires-Python: >=3.8
|
|
28
28
|
Description-Content-Type: text/markdown
|
|
29
|
-
License-File: LICENSE
|
|
30
|
-
Requires-Dist: numpy
|
|
31
|
-
Requires-Dist: opencv-python
|
|
32
|
-
Requires-Dist: Pillow
|
|
33
|
-
Requires-Dist: pyyaml
|
|
34
|
-
Requires-Dist: tqdm
|
|
35
|
-
Requires-Dist: rapidfuzz
|
|
36
|
-
Requires-Dist: pyclipper
|
|
37
|
-
Requires-Dist: pydantic
|
|
38
|
-
Requires-Dist: shapely
|
|
39
|
-
Requires-Dist: huggingface-hub
|
|
40
|
-
Requires-Dist: modelscope
|
|
41
|
-
Requires-Dist: onnxruntime
|
|
42
29
|
Provides-Extra: onnx-gpu
|
|
43
|
-
Requires-Dist: onnxruntime-gpu; extra == "onnx-gpu"
|
|
44
30
|
Provides-Extra: pytorch
|
|
45
|
-
Requires-Dist: torch; extra == "pytorch"
|
|
46
|
-
Requires-Dist: torchvision; extra == "pytorch"
|
|
47
31
|
Provides-Extra: gradio
|
|
48
|
-
Requires-Dist: gradio; extra == "gradio"
|
|
49
32
|
Provides-Extra: all
|
|
50
|
-
|
|
51
|
-
Requires-Dist: torchvision; extra == "all"
|
|
52
|
-
Requires-Dist: gradio; extra == "all"
|
|
53
|
-
Dynamic: author
|
|
54
|
-
Dynamic: home-page
|
|
55
|
-
Dynamic: license-file
|
|
56
|
-
Dynamic: requires-python
|
|
33
|
+
License-File: LICENSE
|
|
57
34
|
|
|
58
35
|
# OpenOCR: An Open-Source Toolkit for General-OCR Research and Applications
|
|
59
36
|
|
|
@@ -63,6 +40,7 @@ Visit: https://github.com/Topdu/OpenOCR
|
|
|
63
40
|
|
|
64
41
|
## Recent Updates
|
|
65
42
|
|
|
43
|
+
- **0.1.4**: Support the PDF file as an input; Parallel recognition of document elements; Add skill document
|
|
66
44
|
- **0.1.3**: Use a unified interface for OCR, Document Parsing, and Unirec
|
|
67
45
|
- **0.0.10**: Remove OpenCV version restrictions.
|
|
68
46
|
- **0.0.9**: Fixing torch inference bug.
|
|
@@ -75,7 +53,7 @@ Visit: https://github.com/Topdu/OpenOCR
|
|
|
75
53
|
|
|
76
54
|
```bash
|
|
77
55
|
# Install from PyPI (recommended)
|
|
78
|
-
pip install openocr-python==0.1.
|
|
56
|
+
pip install openocr-python==0.1.4
|
|
79
57
|
|
|
80
58
|
# Or install from source
|
|
81
59
|
git clone https://github.com/Topdu/OpenOCR.git
|
|
@@ -6,6 +6,7 @@ Visit: https://github.com/Topdu/OpenOCR
|
|
|
6
6
|
|
|
7
7
|
## Recent Updates
|
|
8
8
|
|
|
9
|
+
- **0.1.4**: Support the PDF file as an input; Parallel recognition of document elements; Add skill document
|
|
9
10
|
- **0.1.3**: Use a unified interface for OCR, Document Parsing, and Unirec
|
|
10
11
|
- **0.0.10**: Remove OpenCV version restrictions.
|
|
11
12
|
- **0.0.9**: Fixing torch inference bug.
|
|
@@ -18,7 +19,7 @@ Visit: https://github.com/Topdu/OpenOCR
|
|
|
18
19
|
|
|
19
20
|
```bash
|
|
20
21
|
# Install from PyPI (recommended)
|
|
21
|
-
pip install openocr-python==0.1.
|
|
22
|
+
pip install openocr-python==0.1.4
|
|
22
23
|
|
|
23
24
|
# Or install from source
|
|
24
25
|
git clone https://github.com/Topdu/OpenOCR.git
|
|
@@ -13,7 +13,7 @@ sys.path.insert(0, os.path.abspath(os.path.join(__dir__, '..')))
|
|
|
13
13
|
# from .tools.infer_doc_onnx import OpenDocONNX
|
|
14
14
|
from .openocr import OpenOCR, main
|
|
15
15
|
|
|
16
|
-
__version__ = '0.1.
|
|
16
|
+
__version__ = '0.1.4'
|
|
17
17
|
|
|
18
18
|
# Lazy import for demo interfaces to avoid initialization on import
|
|
19
19
|
def launch_openocr_demo(*args, **kwargs):
|
|
@@ -69,6 +69,7 @@ class OpenOCR:
|
|
|
69
69
|
use_layout_detection: bool = True,
|
|
70
70
|
use_chart_recognition: bool = True,
|
|
71
71
|
auto_download: bool = True,
|
|
72
|
+
max_parallel_blocks: int = 4,
|
|
72
73
|
):
|
|
73
74
|
"""
|
|
74
75
|
Initialize OpenOCR unified interface.
|
|
@@ -99,6 +100,7 @@ class OpenOCR:
|
|
|
99
100
|
use_layout_detection: Whether to use layout detection
|
|
100
101
|
use_chart_recognition: Whether to recognize charts
|
|
101
102
|
auto_download: Whether to auto-download missing models
|
|
103
|
+
max_parallel_blocks: Maximum number of blocks to process in parallel for VLM recognition (doc task only, default: 4)
|
|
102
104
|
"""
|
|
103
105
|
self.task = task.lower()
|
|
104
106
|
self.model = None
|
|
@@ -157,7 +159,8 @@ class OpenOCR:
|
|
|
157
159
|
layout_threshold=layout_threshold,
|
|
158
160
|
use_layout_detection=use_layout_detection,
|
|
159
161
|
use_chart_recognition=use_chart_recognition,
|
|
160
|
-
auto_download=auto_download
|
|
162
|
+
auto_download=auto_download,
|
|
163
|
+
max_parallel_blocks=max_parallel_blocks,
|
|
161
164
|
)
|
|
162
165
|
|
|
163
166
|
logger.info(f"✅ OpenOCR initialized successfully for task: {self.task}")
|
|
@@ -211,12 +214,12 @@ class OpenOCR:
|
|
|
211
214
|
|
|
212
215
|
For 'unirec' task:
|
|
213
216
|
Args:
|
|
214
|
-
image_path: Path to image
|
|
217
|
+
image_path: Path to image or PDF file
|
|
215
218
|
max_length: Maximum generation length
|
|
216
219
|
|
|
217
220
|
For 'doc' task:
|
|
218
221
|
Args:
|
|
219
|
-
image_path: Path to image
|
|
222
|
+
image_path: Path to image or PDF file
|
|
220
223
|
layout_threshold: Layout detection threshold
|
|
221
224
|
max_length: Maximum generation length
|
|
222
225
|
merge_layout_blocks: Whether to merge layout blocks
|
|
@@ -239,44 +242,59 @@ class OpenOCR:
|
|
|
239
242
|
elif self.task == 'doc':
|
|
240
243
|
return self._call_doc(*args, **kwargs)
|
|
241
244
|
|
|
242
|
-
def _call_det(self, image_path, **kwargs):
|
|
245
|
+
def _call_det(self, image_path=None, **kwargs):
|
|
243
246
|
"""Call detection task"""
|
|
244
247
|
return self.model(img_path=image_path, **kwargs)
|
|
245
248
|
|
|
246
|
-
def _call_rec(self, image_path, batch_num=1, **kwargs):
|
|
249
|
+
def _call_rec(self, image_path=None, batch_num=1, **kwargs):
|
|
247
250
|
"""Call recognition task"""
|
|
248
251
|
return self.model(img_path=image_path, batch_num=batch_num, **kwargs)
|
|
249
252
|
|
|
250
|
-
def _call_ocr(self, image_path, **kwargs):
|
|
253
|
+
def _call_ocr(self, image_path=None, **kwargs):
|
|
251
254
|
"""Call OCR task"""
|
|
252
255
|
return self.model(img_path=image_path, **kwargs)
|
|
253
256
|
|
|
254
|
-
def _call_unirec(self, image_path, max_length=2048, **kwargs):
|
|
255
|
-
"""Call UniRec task"""
|
|
257
|
+
def _call_unirec(self, image_path=None, max_length=2048, **kwargs):
|
|
258
|
+
"""Call UniRec task (supports image and PDF input)"""
|
|
256
259
|
return self.model(img_path=image_path, max_length=max_length, **kwargs)
|
|
257
260
|
|
|
258
|
-
def _call_doc(self, image_path, **kwargs):
|
|
259
|
-
"""Call Doc task"""
|
|
261
|
+
def _call_doc(self, image_path=None, **kwargs):
|
|
262
|
+
"""Call Doc task (supports image and PDF input)"""
|
|
260
263
|
return self.model(img_path=image_path, **kwargs)
|
|
261
264
|
|
|
262
265
|
# Additional methods for doc task
|
|
263
|
-
def save_to_json(self, result
|
|
264
|
-
"""Save doc task results to JSON (only for doc task)
|
|
266
|
+
def save_to_json(self, result, output_path: str):
|
|
267
|
+
"""Save doc task results to JSON (only for doc task).
|
|
268
|
+
Supports both single result dict and list of results (from PDF)."""
|
|
265
269
|
if self.task != 'doc':
|
|
266
270
|
raise RuntimeError("save_to_json is only available for 'doc' task")
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
+
if isinstance(result, list):
|
|
272
|
+
for page_result in result:
|
|
273
|
+
self.model.save_to_json(page_result, output_path)
|
|
274
|
+
else:
|
|
275
|
+
return self.model.save_to_json(result, output_path)
|
|
276
|
+
|
|
277
|
+
def save_to_markdown(self, result, output_path: str):
|
|
278
|
+
"""Save doc task results to Markdown (only for doc task).
|
|
279
|
+
Supports both single result dict and list of results (from PDF)."""
|
|
271
280
|
if self.task != 'doc':
|
|
272
281
|
raise RuntimeError("save_to_markdown is only available for 'doc' task")
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
282
|
+
if isinstance(result, list):
|
|
283
|
+
for page_result in result:
|
|
284
|
+
self.model.save_to_markdown(page_result, output_path)
|
|
285
|
+
else:
|
|
286
|
+
return self.model.save_to_markdown(result, output_path)
|
|
287
|
+
|
|
288
|
+
def save_visualization(self, result, output_path: str):
|
|
289
|
+
"""Save doc task visualization (only for doc task).
|
|
290
|
+
Supports both single result dict and list of results (from PDF)."""
|
|
277
291
|
if self.task != 'doc':
|
|
278
292
|
raise RuntimeError("save_visualization is only available for 'doc' task")
|
|
279
|
-
|
|
293
|
+
if isinstance(result, list):
|
|
294
|
+
for page_result in result:
|
|
295
|
+
self.model.save_visualization(page_result, output_path)
|
|
296
|
+
else:
|
|
297
|
+
return self.model.save_visualization(result, output_path)
|
|
280
298
|
|
|
281
299
|
|
|
282
300
|
def main():
|
|
@@ -314,14 +332,14 @@ Examples:
|
|
|
314
332
|
openocr --task unirec --input_path image.jpg --max_length 2048
|
|
315
333
|
|
|
316
334
|
# Doc task (document OCR with layout)
|
|
317
|
-
openocr --task doc --input_path document.jpg --
|
|
335
|
+
openocr --task doc --input_path document.jpg --use_layout_detection --save_vis --save_json --save_markdown
|
|
318
336
|
|
|
319
337
|
# Doc task with PDF input
|
|
320
|
-
openocr --task doc --input_path document.pdf --
|
|
338
|
+
openocr --task doc --input_path document.pdf --use_layout_detection --save_vis --save_json --save_markdown
|
|
321
339
|
|
|
322
340
|
# Doc task with custom models
|
|
323
341
|
openocr --task doc --input_path doc.jpg --layout_model path/to/layout.onnx \\
|
|
324
|
-
--encoder_model path/to/encoder.onnx --decoder_model path/to/decoder.onnx
|
|
342
|
+
--encoder_model path/to/encoder.onnx --decoder_model path/to/decoder.onnx --use_layout_detection --save_vis --save_json --save_markdown
|
|
325
343
|
|
|
326
344
|
# Launch OpenOCR Gradio demo
|
|
327
345
|
openocr --task launch_openocr_demo --share
|
|
@@ -388,6 +406,7 @@ For more information, visit: https://github.com/Topdu/OpenOCR
|
|
|
388
406
|
parser.add_argument('--use_layout_detection', action='store_true', help='[Doc] Use layout detection')
|
|
389
407
|
parser.add_argument('--no_layout_detection', dest='use_layout_detection', action='store_false', help='[Doc] Disable layout detection')
|
|
390
408
|
parser.add_argument('--use_chart_recognition', action='store_true', help='[Doc] Recognize charts')
|
|
409
|
+
parser.add_argument('--max_parallel_blocks', type=int, default=4, help='[Doc] Max parallel blocks for VLM recognition (default: 4)')
|
|
391
410
|
parser.add_argument('--save_vis', action='store_true', help='[Doc] Save visualization')
|
|
392
411
|
parser.add_argument('--save_json', action='store_true', help='[Doc] Save JSON results')
|
|
393
412
|
parser.add_argument('--save_markdown', action='store_true', help='[Doc] Save Markdown results')
|
|
@@ -588,7 +607,7 @@ For more information, visit: https://github.com/Topdu/OpenOCR
|
|
|
588
607
|
from tools.utils.utility import get_image_file_list
|
|
589
608
|
img_list = get_image_file_list(args.input_path)
|
|
590
609
|
|
|
591
|
-
logger.info(f'\nFound {len(img_list)} images in {args.input_path}')
|
|
610
|
+
logger.info(f'\nFound {len(img_list)} images/PDFs in {args.input_path}')
|
|
592
611
|
logger.info(f'Output will be saved to: {args.output_path}')
|
|
593
612
|
logger.info('=' * 80)
|
|
594
613
|
|
|
@@ -600,17 +619,29 @@ For more information, visit: https://github.com/Topdu/OpenOCR
|
|
|
600
619
|
logger.info(f"\n[{idx + 1}/{len(img_list)}] Processing: {os.path.basename(img_path)}")
|
|
601
620
|
|
|
602
621
|
try:
|
|
603
|
-
|
|
622
|
+
result = openocr(
|
|
604
623
|
image_path=img_path,
|
|
605
624
|
max_length=args.max_length
|
|
606
625
|
)
|
|
607
626
|
|
|
608
|
-
logger.info(f" Generated {len(generated_ids)} tokens")
|
|
609
|
-
logger.info(f" Text: {result_text[:100]}..." if len(result_text) > 100 else f" Text: {result_text}")
|
|
610
|
-
|
|
611
627
|
image_name = os.path.basename(img_path)
|
|
612
|
-
|
|
613
|
-
|
|
628
|
+
|
|
629
|
+
# Handle PDF results (list of tuples) vs image results (single tuple)
|
|
630
|
+
if isinstance(result, list):
|
|
631
|
+
# PDF input: result is a list of (text, ids) tuples
|
|
632
|
+
logger.info(f" PDF with {len(result)} pages")
|
|
633
|
+
for page_idx, (page_text, page_ids) in enumerate(result):
|
|
634
|
+
logger.info(f" Page {page_idx + 1}: Generated {len(page_ids)} tokens")
|
|
635
|
+
logger.info(f" Text: {page_text[:100]}..." if len(page_text) > 100 else f" Text: {page_text}")
|
|
636
|
+
result_dict = {'text': page_text, 'page': page_idx + 1}
|
|
637
|
+
fout.write(f"{image_name}_page{page_idx + 1}\t{json.dumps(result_dict, ensure_ascii=False)}\n")
|
|
638
|
+
else:
|
|
639
|
+
# Image input: result is a single (text, ids) tuple
|
|
640
|
+
result_text, generated_ids = result
|
|
641
|
+
logger.info(f" Generated {len(generated_ids)} tokens")
|
|
642
|
+
logger.info(f" Text: {result_text[:100]}..." if len(result_text) > 100 else f" Text: {result_text}")
|
|
643
|
+
result_dict = {'text': result_text}
|
|
644
|
+
fout.write(f"{image_name}\t{json.dumps(result_dict, ensure_ascii=False)}\n")
|
|
614
645
|
|
|
615
646
|
except Exception as e:
|
|
616
647
|
logger.error(f"Error processing {img_path}: {str(e)}")
|
|
@@ -633,7 +664,8 @@ For more information, visit: https://github.com/Topdu/OpenOCR
|
|
|
633
664
|
layout_threshold=args.layout_threshold,
|
|
634
665
|
use_layout_detection=args.use_layout_detection,
|
|
635
666
|
use_chart_recognition=args.use_chart_recognition,
|
|
636
|
-
auto_download=not args.no_auto_download
|
|
667
|
+
auto_download=not args.no_auto_download,
|
|
668
|
+
max_parallel_blocks=args.max_parallel_blocks,
|
|
637
669
|
)
|
|
638
670
|
|
|
639
671
|
from tools.utils.utility import get_image_file_list
|
|
@@ -655,14 +687,23 @@ For more information, visit: https://github.com/Topdu/OpenOCR
|
|
|
655
687
|
max_length=args.max_length
|
|
656
688
|
)
|
|
657
689
|
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
690
|
+
# Handle PDF results (list of dicts) vs image results (single dict)
|
|
691
|
+
if isinstance(result, list):
|
|
692
|
+
logger.info(f" PDF with {len(result)} pages")
|
|
693
|
+
for page_result in result:
|
|
694
|
+
if args.save_vis:
|
|
695
|
+
openocr.save_visualization(page_result, args.output_path)
|
|
696
|
+
if args.save_json:
|
|
697
|
+
openocr.save_to_json(page_result, args.output_path)
|
|
698
|
+
if args.save_markdown:
|
|
699
|
+
openocr.save_to_markdown(page_result, args.output_path)
|
|
700
|
+
else:
|
|
701
|
+
if args.save_vis:
|
|
702
|
+
openocr.save_visualization(result, args.output_path)
|
|
703
|
+
if args.save_json:
|
|
704
|
+
openocr.save_to_json(result, args.output_path)
|
|
705
|
+
if args.save_markdown:
|
|
706
|
+
openocr.save_to_markdown(result, args.output_path)
|
|
666
707
|
|
|
667
708
|
except Exception as e:
|
|
668
709
|
logger.error(f"Error processing {img_path}: {str(e)}")
|