BetterOCR 项目介绍
简介
BetterOCR 是一个创新的光学字符识别(Optical Character Recognition, OCR)工具,它通过结合多种OCR引擎和大型语言模型(LLM)来提高文本识别的精度。无论是罕见的语言还是噪声较多的图像,BetterOCR 都力求提供更准确的识别结果。这一工具特别适用于那些需要高度精确文本结果的用户,如处理混合语言或复杂文本情境的用户。
支持的OCR引擎
BetterOCR 目前集成了以下几个 OCR 引擎:
- EasyOCR:由 JaidedAI 开发,支持多种语言的文本识别。
- Tesseract:Google开发的知名开源OCR引擎,提供了强大的文本识别功能。
- Pororo:由 KakaoBrain 开发,专注于处理韩语和英语文本。
- 在使用 Pororo 时,它将EasyOCR用于文本检测,然后使用BrainOCR模块进行文本识别。Pororo目前仅适用于指定语言选项为英语(en)或韩语(ko)时。
使用的语言模型
BetterOCR 支持OpenAI的聊天模型。通过使用这些高级语言模型,BetterOCR 能够有效地校正和重构来自不同OCR引擎的文本输出,从而达到更高的识别准确性。
自定义上下文支持
用户可以为BetterOCR提供一个自定义上下文,以便在识别时使用特定的关键词,如专有名词和产品名称。这有助于进行拼写校正和噪音识别,确保即使是罕见或不常见的词汇也能被准确识别。
未来发展与社区贡献
BetterOCR 是一个快速发展的项目,开发计划中包含了更多的功能改进,如改进的界面及异步支持等。此外,项目非常欢迎社区的贡献,以共同推进这项工具的发展。
使用方法
用户可以通过简单的命令在Python环境中安装BetterOCR:
pip install betterocr
接着,用户可以通过如下代码对图片进行文本检测:
import betterocr
# text detection
text = betterocr.detect_text(
"demo.png",
["ko", "en"], # language codes (from EasyOCR)
context="", # (optional) context
tesseract={
"config": "--tessdata-dir ./tessdata"
},
openai={
"API_KEY": "sk-xxxxxxx",
"model": "gpt-3.5-turbo",
},
)
print(text)
举例说明
以下是一些使用BetterOCR进行文本检测的例子:
- 英文与噪声处理:即使在文本噪声较多的情况下,BetterOCR也能够提供准确的文本重构结果。
- 韩英混合文本:在处理韩英混合文本时,BetterOCR展示了其多语言分析能力。
- 自定义上下文应用:通过自定义上下文,BetterOCR能够显著提高产品专有词汇的识别准确性。
- 印地语文本:展示了BetterOCR在处理非拉丁字母语言时的能力。
开源许可证
BetterOCR 采用 MIT 开源许可证,所有关注者都可以自由使用并贡献改进。如果您对该项目感兴趣,请为其加星支持。
BetterOCR 是由于 Junio Yeo 的努力而创建的项目,希望通过其不断的优化和改进为用户提供更优质的文本识别服务。