基于paddleocr:   PPOCRv4模型转onnx模型推理,精度和性能更高,推理速度比使用paddlepaddle框架快5倍   https://github.com/jingsongliujing/OnnxOCR   OCR with PaddleOCR and ONNX   Paddle2ONNX - PaddleOCR Documentation   https://medium.com/adevinta-tech-blog/deep-dive-in-paddleocr-inference-e86f618a0937   支持识别语言 - RapidOCR 文档   昇腾300i duo推理卡适配 -- PaddleOCR - 飞桨AI Studio星河社区   硬件支持及示例-PaddlePaddle深度学习平台   https://github.com/PaddlePaddle/PaddleOCR/blob/main/docs/ppocr/model_list.md   https://huggingface.co/SWHL/RapidOCR/tree/main/PP-OCRv4   C++版本部署:   https://github.com/djdll/cpp_onnx_PaddleOCR   https://github.com/felixdittrich92/OnnxTR   https://github.com/mindee/doctr   光学字符识别无缝,任何人都可以访问,由Onnx提供动力   你可以从这个存储库中期待什么:从文档中解析文本信息(本地化和识别每个单词)的有效方法docTR的Onnx管道,docTR库的包装器-不依赖PyTorch或TensorFlow更轻量级的包,更快的推理延迟和更少的资源需求8位量化模型在CPU上更快的推理   GitHub - segment-any-text/wtpsplit: Toolkit to segment text into sentences or other semantic units in a robust, efficient and adaptable way.   维护同名WtP是为了保持一致性。我们新的后续SaT在85种语言中提供强大,高效和适应性强的句子分词,性能更高,计算成本更低。在我们的文章中,我们用8种不同的语料库和85种语言演示了最先进的结果。   GitHub - wikimedia/sentencex: A sentence segmentation library with wide language support optimized for speed and utility.   其目的是支持所有有维基百科的语言。对于库中未定义的语言,使用了一个回退链,而不是退回到英语。将使用库中定义的最接近的语言。为约244种语言定义了回调。   有几个优秀的开源库可以用于分割多国语言的句子。以下是一些常用的选择:   1. spaCy   - 支持多种语言   - 提供高级的自然语言处理功能   - 网址:spaCy · Industrial-strength Natural Language Processing in Python   示例代码:   ```python   import spacy   nlp = spacy.load("zh_core_web_sm") # 加载中文模型   doc = nlp("这是一个句子。这是另一个句子!")   sentences = [sent.text for sent in doc.sents]   ```   2. NLTK (Natural Language Toolkit)   - 支持多种语言   - 提供广泛的文本处理工具   - 网址:Natural Language Toolkit   示例代码:   ```python   import nltk   nltk.download('punkt')   from nltk.tokenize import sent_tokenize   text = "这是第一句。这是第二句!这是第三句?"   sentences = sent_tokenize(text)   ```   3. Polyglot   - 支持超过100种语言   - 专门设计用于多语言处理   - 网址:Welcome to polyglot’s documentation!   示例代码:   ```python   from polyglot.text import Text   text = Text("Dies ist ein Satz. This is another sentence.")   sentences = text.sentences   ```   4. Stanza (Stanford NLP)   - 支持多种语言   - 提供全面的自然语言处理工具   - 网址:Overview   示例代码:   ```python   import stanza   nlp = stanza.Pipeline(lang='zh') # 初始化中文管道   doc = nlp("这是一个句子。这是另一个句子!")   sentences = [sent.text for sent in doc.sentences]   ```   5. Sacremoses   - 主要用于欧洲语言   - 轻量级且易于使用   - 网址:https://github.com/alvations/sacremoses   示例代码:   ```python   from sacremoses import MosesSentenceSplitter   splitter = MosesSentenceSplitter(lang='en')   sentences = splitter.split("This is a sentence. This is another one!")   ```   6. Jieba (专门用于中文)   - 专门设计用于中文分词和句子分割   - 网址:https://github.com/fxsjy/jieba   示例代码:   ```python   import jieba   text = "这是一个中文句子。这是另一个句子!"   sentences = list(jieba.cut_sentences(text))   ```   7. Pythainlp (专门用于泰语)   - 专门设计用于泰语自然语言处理   - 网址:https://github.com/PyThaiNLP/pythainlp   示例代码:   ```python   from pythainlp.tokenize import sent_tokenize   text = "นี่คือประโยคแรก นี่คือประโยคที่สอง"   sentences = sent_tokenize(text)   ```   选择哪个库取决于你需要处理的具体语言、项目的规模和复杂度,以及是否需要其他自然语言处理功能。对于多语言处理,spaCy、NLTK 和 Stanza 是比较全面的选择。如果需要处理特定语言,如中文或泰语,可以考虑使用专门的库如 Jieba 或 Pythainlp。   在使用这些库时,请注意:   1. 某些库可能需要下载额外的语言模型。   2. 性能可能因语言而异,可能需要针对特定语言进行微调。   3. 对于非常特殊的语言或领域,可能需要自定义规则或训练模型。   建议在你的具体数据集上测试这些库,以找到最适合你需求的解决方案。 表示阿拉伯语(arabic); 表示中文繁体(chinese_cht); 表示斯拉夫语(cyrillic)俄语; 表示梵文(devanagari); 表示日语(japan); 表示卡纳达文(ka); 表示韩语(korean); 表示泰米尔文(ta); 表示泰卢固文(te); 表示拉丁语(latin)拉丁文。   https://github.com/PaddlePaddle/PaddleClas/blob/release/2.6/docs/zh_CN/models/PULC/PULC_language_classification.md   快速实现AI想法:通用多语言OCR自动检测识别   https://github.com/PaddlePaddle/PaddleOCR/tree/release/2.8/ppocr/utils/dict   https://github.com/PaddlePaddle/PaddleClas/issues/3338   python3 -m pip install paddlepaddle==2.5.2 -i https://pypi.tuna.tsinghua.edu.cn/simple   python3 -m pip install paddleclas==2.6.0 -i https://pypi.tuna.tsinghua.edu.cn/simple   paddleclas --model_name=language_classification --infer_imgs=pulc_demo_imgs/language_classification/word_35404.png   多语种:   PaddleOCR   https://paddlepaddle.github.io/PaddleOCR/latest/ppocr/blog/multi_languages.html#5   多语种模型列表:   https://github.com/Mushroomcat9998/PaddleOCR/blob/main/doc/doc_ch/multi_languages.md   PaddleOCR   https://github.com/PaddlePaddle/PaddleClas/tree/release/2.6/docs/zh_CN/models/PULC   版本选择:   PaddleNLP:基于PaddlePaddle的自然语言处理工具库及安装教程-CSDN博客   Packages for Linux and Unix   https://github.com/tesseract-ocr/tessdoc/blob/main/Installation.md   Command Line Usage   How to Install Latest Tesseract OCR 5 in Ubuntu 24.04 | 22.04   https://maker.pro/raspberry-pi/tutorial/optical-character-recognizer-using-raspberry-pi-with-opencv-and-tesseract   https://www.33rdsquare.com/build-your-own-ocr-google-tesseract-opencv/   其它:   https://medium.com/@hlealpablo/surya-and-easyocr-vision-models-and-data-extraction-in-financial-documents-fef55b132185   https://github.com/ocrmypdf/OCRmyPDF   How to Install Latest Tesseract OCR 5 in Ubuntu 24.04 | 22.04   是的,Tesseract OCR 确实支持图片的语种识别。这个功能通常被称为 "语言检测" 或 "脚本检测"。以下是关于 Tesseract 语种识别的一些关键信息: 内置功能:Tesseract 包含了一个内置的语言检测功能。 使用方法:可以通过命令行参数 设置为 (Orientation and Script Detection)来启用语言检测。 支持的语言:Tesseract 可以识别多种语言和脚本,包括但不限于拉丁文、中文、日文、韩文、阿拉伯文等。 准确性:语言检测的准确性可能会受到图像质量、文本清晰度等因素的影响。 多语言支持:Tesseract 还可以同时处理包含多种语言的图像。 API 支持:如果你通过编程方式使用 Tesseract,其 API 也提供了语言检测的功能。 版本差异:较新版本的 Tesseract(4.0 及以上)在语言检测方面有所改进。 使用示例(命令行):tesseract image.png output -l osd   tesseract 1.png output -l osd   语言数据文件是 Tesseract OCR 用于识别特定语言文字的训练数据。这些文件包含了字符识别所需的模型和信息。以下是关于语言数据文件的详细说明:   1. 文件内容:   - 包含特定语言的字符形状、词汇和语言规则等信息。   - 通常以 .traineddata 结尾。   2. 安装方法:   a. 官方下载:   - 访问 Tesseract GitHub 页面:https://github.com/tesseract-ocr/tessdata   - 下载所需语言的 .traineddata 文件。   b. 包管理器(以 Ubuntu 为例):   ```   sudo apt-get install tesseract-ocr-[lang]   ```   将 [lang] 替换为语言代码,如 chi-sim(简体中文)、eng(英语)等。   c. 手动安装:   - 下载 .traineddata 文件。   - 将文件放入 Tesseract 的语言数据目录,通常是:   - Linux: /usr/share/tesseract-ocr/4.00/tessdata/   - Windows: [Tesseract安装目录]tessdata   - macOS: /usr/local/share/tessdata/   3. 验证安装:   使用命令 `tesseract --list-langs` 查看已安装的语言。   4. 常用语言代码:   - eng: 英语   - chi_sim: 简体中文   - chi_tra: 繁体中文   - jpn: 日语   - kor: 韩语   5. 注意事项:   - 确保下载的语言文件版本与你的 Tesseract 版本兼容。   - 某些语言可能需要额外的配置或依赖。   6. 自定义训练:   - 对于特殊需求,可以训练自己的语言数据文件。   安装完语言数据文件后,你就可以使用 `-l` 参数指定语言进行 OCR 识别了,例如:   ```   tesseract image.png output -l chi_sim   ```   这样可以确保 Tesseract 能够正确识别特定语言的文字。   Pytesseract | Orientation and Script Detection (OSD)   Actually i have found better from chatgpt,   With apt install tesseract-ocr-all this installs all the languages so now i can detect multiple languages withing a single image   sudo apt install tesseract-ocr-all   最新版本的 Tesseract OCR 模型文件可以从以下几个地方获取:   PaddleX模型列表(CPU/GPU) - PaddleX 文档   基于paddleocr:   OCR推理引擎选择指南 - RapidOCR 文档   https://rapidai.github.io/RapidOCRDocs/install_usage/rapidocr_web/ocrweb_multi/   https://onnxruntime.ai/docs/execution-providers/community-maintained/ACL-ExecutionProvider.html   推理性能:   https://rapidai.github.io/RapidOCRDocs/install_usage/rapidocr_paddle/usage/#_3   基于paddleocr:   https://github.com/shibing624/imgocr   ragflow/deepdoc/README_zh.md at main · infiniflow/ragflow   基于paddleocr:   MinerU/README_zh-CN.md at master · opendatalab/MinerU · GitHub   WeSubtitle: 用 OCR 提取视频硬字幕   https://github.com/wenet-e2e/wesubtitle/tree/main/wesubtitle   https://github.com/YaoFANGUK/video-subtitle-extractor   https://github.com/cpython666/SubExtractor-OCR/blob/main/main.py   TableMaster - PaddleOCR Documentation   https://github.com/PaddlePaddle/PaddleOCR/tree/main/ppstructure/table   版面恢复 - PaddleOCR 文档   https://github.com/PaddlePaddle/PaddleOCR/discussions/13645   面版识别添加onnx支持完善 by heweisheng · Pull Request #12068 · PaddlePaddle/PaddleOCR   PaddleOCR_TableRec_ONNX_Inference(已经转过的模型):   https://github.com/llhy60/PaddleOCR_TableRec_ONNX_Inference   PaddleOCR_TableRec_ONNX_Inference/models/ch_ppocr_table_rec at main · llhy60/PaddleOCR_TableRec_ONNX_Inference   Paddle-ocr pdf-to-word操作指南   版面恢复 - PaddleOCR 文档   直接使用paddleocr进行word输出:   https://github.com/sirsws/pdf-docx-convertor/blob/main/pdf2docx_pro.py   版面分析列表:   Model - PaddleOCR Documentationpaddleocr --image_dir=ppstructure/docs/table/1.png --type=structure --recovery=true --use_onnx=True --layout_model_dir=inference/picodet_lcnet_x1_0_fgd_layout_infer/best.onnx --rec_model_dir=inference/ch_PP-OCRv4_rec_infer/best.onnx --det_model_dir=inference/ch_PP-OCRv4_det_infer/best.onnx --table_model_dir=inference/ch_ppstructure_mobile_v2.0_SLANet_infer/best.onnx   paddleocr版面分析库:https://github.com/PaddlePaddle/PaddleOCR/tree/main/ppstructure/recoveryhttps://github.com/PaddlePaddle/PaddleOCR/tree/main/ppstructure/pdf2wordhttps://github.com/XMuli/PaddleOCR-2.8.1/blob/master/ppstructure/recovery/README_ch.mdPaddleOCR/ppstructure at main · PaddlePaddle/PaddleOCR(关注)   利用ocr将pdf转为docx   GitHub - jiangnanboy/pdf_to_docx: ocr,pdf转docx,pdf to docx   paddleocr官方提供的识别工具:   PaddleOCR/ppstructure at main · PaddlePaddle/PaddleOCR   1、官方模型转换(使用paddlepaddle自带的转换工具)模型使用环境:paddlepaddle26onnx 1.16.0onnxruntime 1.20.1opt-einsum 3.3.0packaging 24.2paddle2onnx 1.2.3paddleocr-convert 0.0.19paddlepaddle 2.6.0转换命令:OnnxOCR/onnxocr at main · jingsongliujing/OnnxOCR模型列表:板式模型:模型库 - PaddleOCR 文档文字识别模型:模型库 - PaddleOCR 文档   字典库:PaddleOCR-main/ppocr/utils/dict   pdf2word(用户) / pdf2md(大模型)   https://github.com/PaddlePaddle/PaddleOCR/discussions/14267   https://github.com/PaddlePaddle/PaddleOCR/issues/11639   1. af - 南非荷兰语(Afrikaans)   2. az - 阿塞拜疆语(Azerbaijani)   3. bs - 波斯尼亚语(Bosnian)   4. cs - 捷克语(Czech)   5. cy - 威尔士语(Welsh)   6. da - 丹麦语(Danish)   7. de - 德语(German)   8. es - 西班牙语(Spanish)   9. et - 爱沙尼亚语(Estonian)   10. fr - 法语(French)   11. ga - 爱尔兰语(Irish)   12. hr - 克罗地亚语(Croatian)   13. hu - 匈牙利语(Hungarian)   14. id - 印度尼西亚语(Indonesian)   15. is - 冰岛语(Icelandic)   16. it - 意大利语(Italian)   17. ku - 库尔德语(Kurdish)   18. la - 拉丁语(Latin)   19. lt - 立陶宛语(Lithuanian)   20. lv - 拉脱维亚语(Latvian)   21. mi - 毛利语(Maori)   22. ms - 马来语(Malay)   23. mt - 马耳他语(Maltese)   24. nl - 荷兰语(Dutch)   25. no - 挪威语(Norwegian)   26. oc - 奥克语(Occitan)   27. pi - 巴利语(Pali)   28. pl - 波兰语(Polish)   29. pt - 葡萄牙语(Portuguese)   30. ro - 罗马尼亚语(Romanian)   31. rs_latin - 塞尔维亚语(拉丁文)(Serbian Latin)   32. sk - 斯洛伐克语(Slovak)   33. sl - 斯洛文尼亚语(Slovenian)   34. sq - 阿尔巴尼亚语(Albanian)   35. sv - 瑞典语(Swedish)   36. sw - 斯瓦希里语(Swahili)   37. tl - 他加禄语(Tagalog)   38. tr - 土耳其语(Turkish)   39. uz - 乌兹别克语(Uzbek)   40. vi - 越南语(Vietnamese)   41. french - 法语(French)   42. german - 德语(German)   1. ar - 阿拉伯语 (Arabic)   2. fa - 波斯语 (Persian/Farsi)   3. ug - 维吾尔语 (Uyghur)   4. ur - 乌尔都语 (Urdu)   1. ru - 俄语 (Russian)   2. rs_cyrillic - 塞尔维亚语(西里尔文) (Serbian Cyrillic)   3. be - 白俄罗斯语 (Belarusian)   4. bg - 保加利亚语 (Bulgarian)   5. uk - 乌克兰语 (Ukrainian)   6. mn - 蒙古语 (Mongolian)   7. abq - 阿巴扎语 (Abaza)   8. ady - 阿迪格语 (Adyghe)   9. kbd - 卡巴尔达语 (Kabardian)   10. ava - 阿瓦尔语 (Avar)   11. dar - 达尔金语 (Dargwa)   12. inh - 印古什语 (Ingush)   13. che - 车臣语 (Chechen)   14. lbe - 拉克语 (Lak)   15. lez - 列兹金语 (Lezgin)   16. tab - 塔巴萨兰语 (Tabasaran)   1. hi - 印地语 (Hindi)   2. mr - 马拉地语 (Marathi)   3. ne - 尼泊尔语 (Nepali)   4. bh - 比哈尔语 (Bihari)   5. mai - 迈蒂利语 (Maithili)   6. ang - 安加语 (Angika)   7. bho - 博杰普尔语 (Bhojpuri)   8. mah - 马哈语 (Magahi)   9. sck - 萨德里语 (Sadri)   10. new - 尼瓦尔语 (Newari)   11. gom - 贡根语 (Goan Konkani)   12. sa - 梵语 (Sanskrit)   13. bgc - 哈里亚纳维语 (Haryanvi)   GitHub - devmaxxing/videocr-PaddleOCR: Extract hardcoded subtitles from videos using machine learning   参考文献:   surya模型导出onnx   https://gist.github.com/zachmayer/c3964fc107418a4398fc3ec1434b2943   https://github.com/huggingface/transformers/issues/31384   https://github.com/tesseract-ocr/tesseract/wiki/Command-Line-Usage/7fc3dc8c3160f5b79a7ed7378f34ee5786729860   官网提供的npu情况下安装流程   https://github.com/PaddlePaddle/PaddleX/blob/release/3.0-beta/docs/tutorials/INSTALL_OTHER_DEVICES.md   工程:   手把手教你用PaddleOCR与PyQT实现多语言文字识别的程序   https://github.com/zhangming8/Dango-ocr   手把手教你用PaddleOCR与PyQT实现多语言文字识别的程序-CSDN博客   Tesseract的命令参数:   All Tesseract OCR options、   GitHub - ocrmypdf/OCRmyPDF: OCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched   ocr的评测:   AI测评 | 十二款开源OCR开箱测评,文字识别哪家强   ONNXRuntime arm平台部署: