Project Icon

wangfreexx-tianruoocr-cl-paddle

开源本地OCR识别和翻译软件

wangfreexx-tianruoocr-cl-paddle是一款开源的本地OCR识别软件,基于Chinese-lite和paddle-ocr技术。支持中文高效识别、条形码扫描和多种翻译接口,包括离线翻译功能。软件提供段落合并和自定义设置,适用于64位Windows系统,无需网络即可进行OCR识别。该项目为用户提供了一个全面的本地文字识别和翻译解决方案。

tianruoocr-cl

由于精力有限,本软件目前暂不进行任何维护。推荐使用 Umi-ocr,我使用后发现非常不错,至少比我的好多了。有时间和精力可能会再来维护。

简介

图 1

天若OCR开源版本的本地版,采用Chinese-lite和paddle-ocr识别,不再需要网络连接。

推荐使用paddle-ocr识别,可以在识别结果中切换接口。

本软件的开发离不开以下仓库和软件的帮助,在此表示衷心的感谢:

https://gitee.com/ZZK-1989/tianruoocr

https://github.com/DayBreak-u/chineseocr_lite/tree/onnx/dotnet_projects/OcrLiteOnnxCs

https://github.com/RapidAI/RapidOCR

软件适用于64位系统,支持Win10/Win7,未测试Win11,需要.NET 4.7.2环境。

本程序主要依靠复制粘贴完成,如果有高手能帮忙改进就更好了。

中文识别率相当不错。

线程数设置为4,可以修改。

本软件不设置任何捐赠渠道,欢迎大家传播使用。软件作者是机械专业学生,编程能力有限,大部分问题都是通过自行搜索解决的,欢迎交流讨论问题。

注意事项


  1. 编译时需要引用Microsoft.ML.OnnxRuntime.dll。为了兼容Win7,可以使用我编译好的版本(在dll和runtime文件夹中),也可以自行编译,需要将对应的onnxruntime.dll放在运行文件夹中。如果不使用Win7,可以直接通过NuGet安装。
  2. 已将NuGet包管理更改为PackageReference,应该不再需要packages文件夹。编译前请先安装NuGet的相关包。
  3. 编译时请注意AdvRichTextBox.Designer.cs文件,必须重写。该文件在切换过程中可能会被系统自动覆盖,需要手动复制回来。

常见问题


  1. Win7无法使用,基本无解(V1.3版本已支持Win7)
  2. 如遇到Exception from HRESULT: 0x8007007E错误,可使用DirectX修复工具进行修复,通常能够解决启动问题。
  3. 请尝试安装VC++运行库和.NET 4.7.2。
  4. 谷歌翻译功能基本不会维护,建议使用百度翻译(已添加其他翻译选项),更加稳定可靠。

当前使用的模型

模型名称检测模型识别模型分类模型
Chinese-lite默认默认默认
paddle-ocrch_PP-OCRv3_det_infer.onnxch_PP-OCRv2_rec_infer.onnxch_ppocr_mobile_v2.0_cls

翻译功能说明


翻译相关问题说明

  1. 目前离线翻译基于Python搭建模型和建立服务器,本软件只负责与搭建的网站对接。因此需要一定的Python基础和运行环境,如果无法运行请尝试自行解决,作者也无能为力。
  2. 由于离线翻译网站的特性,实际上可以自行搭建服务器,只要满足POST格式即可。POST需要两个参数:"mod"和"text"。mod可以是zh2en、en2zh、ja2zh、zh2ja,分别代表相应的语言对;text为待翻译文本。直接返回翻译结果即可。
  3. 对于谷歌翻译无法使用的情况,请大家各显神通。
  4. 如需添加其他翻译接口,请确保翻译接口:1.易于申请(例如,微软翻译需要信用卡,我无法申请);2.API接口友好,至少我能学习使用;3.接口不是限时的(例如有道翻译,只有少量免费额度用完就失效,不符合我偶尔使用也能保持有效的需求)。
  5. 离线翻译耗时较长,没有GPU加速。理论上可以实现GPU加速,但我尚未实现。

服务器搭建说明

  1. 服务器搭建需要以下环境(参考链接):
    1. Python 3.8
    2. Flask
    3. Gevent
    4. Transformers
    5. SentencePiece
    6. PyTorch
  2. 安装完成后运行translation.py。首次运行会下载离线识别包,大小约1GB多,运行时占用内存也约1GB,请根据电脑配置考虑。如果已有下载好的模型,可以修改脚本中的path变量指向本地地址,注意路径中不能包含中文字符。之后无需再次下载。
  3. 在软件设置中的"翻译API-离线翻译-网址"输入:http://127.0.0.1:16888/wesky-translater(如果搭建在其他服务器上,请将127.0.0.1替换为相应IP地址)。

其他说明

  1. 如果有技术高手能够打包,请与我联系,我会将信息添加到文章中。
  2. 如遇到奇怪问题,联系我可能也无法解决,受限于作者知识水平有限。

下载链接


https://gitee.com/wanglifree/tianruoocr-cl/releases

https://github.com/wangfreexx/wangfreexx-tianruoocr-cl-paddle/releases

未来计划


  1. 离线翻译
  2. 重构截图功能
  3. 增加图片二值化处理,提高识别率

版本更新说明


v1.3.9(2023年5月30日)

  1. 更新ZXING库,现在能够识别条形码
  2. 添加了用户自定义宽高的设置,可以在其他功能中设置长宽高,但需注意程序有最小尺寸限制,小于最小值时设置不生效,当所有设置值为0时程序会使用默认尺寸

v1.3.8.2(2023年4月14日)

  1. 删除了部分无用图标,如拆分、朗读等
  2. 修正了静默识别和静默复制自动处理文本的问题,除非在界面默认合并(合并图标右键变红),否则复制到剪贴板的是原始文本(保留换行)

v1.3.8.1(2023年1月4日)

  1. 优化高分辨率屏幕适配,可在设置中单独设置图标和文字缩放倍数,实现界面放大

v1.3.8(2023年1月4日)

  1. 默认取消静默识别
  2. 初步适配高分辨率屏幕,可在设置中调整缩放倍数以放大界面,除翻译界面文字缩放存在问题外,其他均可正常缩放
  3. 新增按钮,可在末尾添加换行
  4. 代理功能现可使用,仅对谷歌翻译有效,其他翻译服务无效

v1.3.7(2022年11月21日)

  注意: 默认开启静默识别,请在设置中修改,下个版本将取消此默认设置

  1. 将OCR识别和翻译字体修改为微软雅黑
  2. 添加腾讯、彩云(均需API)和离线翻译(详见翻译说明)
  3. 添加静默识别和默认复制选项
  4. 在设置中添加版本号以便识别
  5. 解决识别后的文字在创建文件夹时提示非法字符的问题
  6. 由于更新影响存储结构,更新时需删除Data-my.Config,让程序自行重新生成,请合理保留配置
  7. 重新编译ShareX.ScreenCaptureLib.dll,修复快捷键A保存图片无法使用的问题(如不生效,请更新至最新的1.3.7版本,之前上传的1.3.7未修正此问题)

v1.3.6(2022年11月8日)

  1. 修复百度翻译只能翻译第一行的问题
  2. 修复每次识别后多出一行换行符的问题
  3. 将识别后字体切换为微软雅黑,但翻译字体未变

v1.3.5(2022年8月14日)(非重要更新,非区域问题可不下载)

  1. 彻底抛弃ini结构,采用xml结构utf8存储配置,适应不同语言环境(非unicode语言为中文以外的情况)
  2. 修改paddle默认参数以适应小框识别问题 I5LRD0

v1.3.4(2022年8月10日)

  1. 彻底解决paddle识别率不高的问题
  2. 不再使用fody合并dll

v1.3.3(2022年8月7日)

  1. 更新paddle为v3模型,与RapidOCR一致
  2. 关于之前反馈的模型识别率降低问题,我认为已解决(实际未解决,心态崩溃。即使替换模型也不如1.2.5版本,不知何故。只要切换一次cl再切回paddle,paddle又恢复正常,心情确实很糟糕。决定有空好好研究,但不是现在)
  3. 将nuget包管理更改为PackageReference,更新emgu等库
  4. 解决了在不同语言环境下读取ini文件的问题,ini文件现在采用unicode编码

v1.3.2(2022年3月11日)

  1. 修改了模型名称,方便更新替换。同时更新了paddle的模型,与RapidOCR一致,准确率有所提升。

v1.3.1(2022年1月29日)

  1. 修正了开启默认合并行导致数据丢失的问题
  2. 使用fody合并dll,减少文件数量

v1.3(2021年12月27日)

  1. Win7现在也能使用了!(详见更新说明)
  2. 修复段落合并功能的bug
  3. 尝试解决识别文本与显示不一致的问题,即识别框出现大量重复文字的bug(实际没有这些文字,只是显示问题)
  4. 谷歌翻译采用"ZZK-1989"大佬的方法,速度更快,且支持段落识别,但翻译成功与否取决于网络流畅程度
  5. 切换模型和修改模型不再需要重启应用,只需随意切换一次模型即可(将载入模型放在了切换模型的位置)

v1.2.6

  1. 修正一个编译bug(具体情况是编译识别为空)
  2. 改进段落合并功能,拆分按钮现在不会清空文字,但仍然无用
  3. 采用64位编译

v1.2.5

  1. 恢复之前删除的百度在线OCR功能,现可使用,并加入错误检测,避免崩溃
  2. 段落翻译增加延时,避免IP被封

v1.2.4

  1. 添加保留段落翻译功能,不再合并段落翻译,切换接口即可,由于单独翻译,速度可能稍慢

v1.2.3

  1. 添加参数帮助(注释)

v1.2.2

  1. 修复无法重启的bug

v1.2.1

  1. 修复无法切换模型的bug,初始paddle模型选择英文

v1.2

  1. 更新翻译接口,现在谷歌和百度可以使用!换行会自动处理成连贯文本,方便PDF处理。百度需申请API
  2. 添加几个轻量模型(日文和英文专用),切换需重启
  3. 修复部分bug,清理部分源码
  4. 应该不会再更新了!

V1.1

  1. 添加paddle-ocr支持,模型较小,速度快!
  2. 可以切换接口了,虽然工程中名字仍为其他名称,但编译出的版本不会显示搜狗和腾讯
  3. 优化内存占用(每次识别完自动清理内存)

V1.0

  1. 添加Chineseocr-lite支持,使用原搜狗接口选项

一些随想


v1.3.8

感觉很多"伪"需求(之所以称为伪是因为我认为用不到),精力有限,不再更新,除了部分bug修复。当然,如果能有偿还是可以考虑,只是有违初衷。

v1.3.7

封校带来的更新,现在可以完全离线使用了,满足了我最初的愿望。

v1.3.6

关于本人目前正处于研三关键时期,最近精力有限,无法及时解决各种问题。而且本身不是程序员出身,对很多问题其实我也无能为力。全面重构没有必要,本来就是以满足离线使用为主。之后会想办法加入离线翻译,实现完全离线。

v1.3.4

一杯茶一包烟,一个bug调一天。Paddle识别率不高的原因是因为模型设置的参数没有初始化,导致第一次使用时程序识别效果不佳,但切换一下模型相当于初始化后就好了。具体问题在438行,调用的参数错误。

v1.3.3

Win7编译后需要手动替换onnxruntime.dll,版本为1.6,VS NuGet中的不支持Win7,需要从GitHub上下载支持的版本。尝试解决读取ini文件的问题,本来想改成UTF-8格式读取,但试了很久都不行,花了大概3天一无所获。不过今天用了别人的库一下就解决了...........还是Ctrl+V好用。

v1.3

Win7支持源于逛吾爱论坛时看到有大佬做出了类似ncnn和onnx的天若本地版,目的就是解决我的不支持Win7的问题。可惜没有开源,但大佬提供了思路。顺着大佬思路,我也自己编译了onnxruntime。得益于微软的开源,编译很简单。然后又修正了库的引用,在Win7上真的跑起来了(我用了虚拟机)。我编译的是onnxruntime 1.5.2版本,1.6我试了好像不支持了,具体不清楚。当然大佬还做了其他差异化的东西,例如二维码、局域网网页调用,我就没做了,自己还是太菜。应该不会再更新了,算是圆满了。这个项目其实只是简单粘贴复制,方法很粗糙,希望有朝一日能给大家提供一点微薄的帮助。

项目支持者随时间变化


项目支持者随时间变化

许可证


GPL-3.0 许可证

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

稿定AI

稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号