多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

Umi-OCR 免费离线文字识别实战指南:从截图OCR到批量PDF的4个实操任务

Umi-OCR 免费离线文字识别实战指南:从截图OCR到批量PDF的4个实操任务 Umi-OCR 免费离线文字识别实战指南从截图OCR到批量PDF的4个实操任务【免费下载链接】Umi-OCROCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片PDF文档识别排除水印/页眉页脚扫描/生成二维码。内置多国语言库。项目地址: https://gitcode.com/GitHub_Trending/um/Umi-OCRUmi-OCR 是一款免费、开源的离线 OCR 软件核心功能是把图片、截图和 PDF 文档里的文字识别成可编辑文本全程不需要联网。如果你需要经常从屏幕截图提取代码、批量整理扫描件、或者把 OCR 接进自动化脚本这篇指南都会覆盖到。读完之后你能独立完成从安装到接口调用的整个流程。快速上手Umi-OCR 是绿色软件不需要安装步骤整个过程大概两分钟下载发行版压缩包.7z格式或.7z.exe自解压包建议放在纯英文路径下。解压到任意目录。自解压包可以直接双击运行无需再装解压软件。进入解压目录双击Umi-OCR.exe启动程序Linux 下运行umi-ocr.sh。首次启动时界面语言会跟随系统自动切换如果不符合预期去「全局设置」→「语言/Language」手动调整。打开「截图OCR」标签页按快捷键框选一块屏幕区域右侧就会出现识别结果。下面这张主界面预览图展示了软件的标签页布局顶部一排就是截图OCR、批量OCR、文档识别、二维码等各个功能页小提示软件右上角可以锁定标签页防止误触关闭左上角能切换窗口置顶做截图识别时很有用。典型实操任务装好之后下面四个任务基本覆盖了 Umi-OCR 的全部日常用法你可以按顺序逐个试一遍。从屏幕截图中提取代码片段适用情况看文档、读代码截图时想把画面上的代码原样复制下来。操作步骤打开「截图OCR」标签页。用默认快捷键唤起截图鼠标框选包含代码的区域也可以从别处复制图片后直接粘贴进来。在右侧设置中找到「文本后处理 - 排版解析方案」切换为单栏-保留缩进。等待识别完成在识别记录栏中划选文本并复制。粘贴到编辑器里检查缩进是否与原图一致。关键设置设置项改成什么为什么排版解析方案single_code单栏-保留缩进专为代码截图设计保留行首缩进和行中空格排版解析方案普通文档时multi_para多栏-按自然段换行默认自动识别多栏布局按自然段换行适合大部分场景纠正文本方向截图内容倾斜时启用能识别倾斜或倒置文字但会稍降速度效果检查把结果粘贴到支持等宽缩进的编辑器里if、for等关键字的层级和原图对齐说明缩进被正确保留。把一批扫描件图片转成可搜索文本适用情况手上有一整文件夹扫描图片想一次导出 txt / Markdown / CSV。操作步骤切到「批量OCR」标签页。把图片或文件夹拖进左侧列表支持jpg, jpe, jpeg, jfif, png, webp, bmp, tif, tiff几百张一起导也没问题。在右栏设置中选择输出格式txt、jsonl、md、csv(Excel)。点击「开始任务」等进度条走完。到输出目录打开结果文件核对内容。关键设置设置项改成什么为什么保存格式需要表格化就用csv(Excel)写文档用md不同格式对应不同后处理用途限制图像边长大图/长图时调高数值边长超 960 的大图会被压缩调高可提升精度任务完成后自动关机晚上跑完大批量任务时勾选挂机批量处理跑完自动关机省时间文字识别 - 纠正文本方向扫描件有倾斜时启用同上会稍降速度效果检查随机抽两三张原始图片对比输出文件里对应段落的文字顺序和换行是否符合阅读习惯。如果你的图片带有固定位置的水印或 LOGO可以在右栏进入「忽略区域」编辑器按住右键画出多个矩形框把这些区域圈起来——注意只有完全落在框内的整个文本块才会被忽略所以框尽量画大一点把水印可能出现的所有位置都包进去。把 PDF 扫描件转成双层可搜索 PDF适用情况有扫描版 PDF想要既保留原图、又能搜索和复制文字的文档。操作步骤打开「文档识别」标签页。导入文档支持pdf, xps, epub, mobi, fb2, cbz。如有固定页眉页脚干扰设置忽略区域排除这些文字。选择保存类型并启动任务。打开输出的双层 PDF尝试搜索其中一段文字。关键设置设置项改成什么为什么忽略区域圈出页眉、页脚所在横条排除页码、公司抬头等重复文字的干扰任务完成后自动关机/休眠大批量时勾选与批量OCR一致适合挂机处理保存类型双层可搜索PDF在原始图层上叠加文字层可搜索可复制效果检查在输出的 PDF 里搜索一段正文关键词能高亮命中说明文字层已正确嵌入。扫描和生成二维码适用情况照片里有二维码、条形码要读出来或者想把一段文字变成二维码图片。操作步骤打开「二维码」标签页。扫码方向截图、粘贴或拖入本地图片。查看识别结果支持一图多码和 19 种协议QRCode、PDF417、EAN13 等。生成方向输入文本按需选择纠错等级等参数生成二维码图片。关键设置设置项改成什么为什么纠错等级打印物选高一级二维码被磨损、遮挡时仍能被扫出图片尺寸生成时手动指定宽高默认是最小适配长度对外张贴可放大效果检查生成的二维码用扫码枪或手机扫一遍解码出的内容与输入文本完全一致。性能调优Umi-OCR 内置PaddleOCR和RapidOCR两套离线引擎插件在全局设置中可以随时切换。简单记法PaddleOCR 速度稍快适合日常主力RapidOCR 兼容性好老系统如 Windows 7上更稳妥。注意后端对并发支持较差任务本身是串行处理的所以调优重点在参数而不是堆并发。典型场景推荐引擎线程数内存其他关键参数日常截图、短文档PaddleOCR1串行处理常规tbpu.parser multi_para代码截图PaddleOCR1串行处理常规tbpu.parser single_code大批量普通图片RapidOCR1串行处理常规输出csv配忽略区域超大分辨率长图PaddleOCR1串行处理偏高ocr.limit_side_len 2880或4320倾斜/倒置文字PaddleOCR1串行处理常规ocr.cls true老系统Win7RapidOCR1串行处理常规保持默认参数即可软件界面上的所有设置最终都保存在./UmiOCR-data/.settingsini 格式常用关键参数如下可以直接手动改这个文件# 文字识别OCR引擎参数PaddleOCR适用 ocr.language models/config_chinese.txt # 语言/模型库切换见下表 ocr.cls false # 纠正文本方向倾斜文字才开启 ocr.limit_side_len 960 # 限制图像边长大图精度要求高时调高 # 文本后处理 tbpu.parser multi_para # 排版解析方案代码截图用 single_code tbpu.ignoreArea [] # 忽略区域矩形框列表排除水印如果你的识别内容以英文或日文为主把ocr.language换成对应模型文件即可模型文件语言适用内容models/config_chinese.txt简体中文默认中文文档、中文代码注释models/config_en.txt英文英文文档、代码models/config_chinese_cht(v2).txt繁體中文繁体资料models/config_japan.txt日本語日文文档models/config_korean.txt한국어韩文文档models/config_cyrillic.txtРусский俄文文档界面语言方面Umi-OCR 支持繁中、英语、日语等多国语言在全局设置里随时可切记住改完.settings文件后运行umi-ocr --reload即可让软件重新加载配置并刷新设置界面不用重启程序。自动化集成Umi-OCR 提供两种正式的外部调用方式都有完整文档命令行手册 和 HTTP接口手册。命令行入口就是主程序本身常用指令包括umi-ocr --screenshot截屏识别、umi-ocr --path D:/xxx.png识别指定图片或文件夹、umi-ocr --qrcode_read扫码、umi-ocr --qrcode_create生成二维码。结果可用--clip复制到剪贴板或用--output file.txt写入文件。批量识别一个文件夹并导出结果的典型用法umi-ocr --path D:/scans --output D:/result.txt umi-ocr --screenshot --clipHTTP 接口全局设置中默认开启 HTTP 服务端口默认1224可在设置里改开启后即可通过网络请求调用 OCR、文档识别、二维码等功能参数细节见 接口文档。一个最小的 Python 调用示例import base64, requests with open(D:/img.png, rb) as f: img_b64 base64.b64encode(f.read()).decode() resp requests.post(http://127.0.0.1:1224/api/ocr, json{ base64: img_b64, options: {ocr.language: models/config_chinese.txt, tbpu.parser: single_code, data.format: text} }) print(resp.json()[data])全局设置页中可以看到 HTTP 服务开关和端口配置需要局域网访问时把主机切换为「任何可用地址」两个实用提示一是不要并发调用 HTTP 接口长时间连续调用偶发ECONNREFUSED报错时重新发一次请求即可二是命令行模式下管道重定向可能失效程序间调用建议改用 HTTP 转发命令行接口见 argv.md。想深入二次开发的源码在 UmiOCR-data/py_src/ 目录插件放在UmiOCR-data/plugins/。常见问题速查现象常见原因快速处理大图识别精度不高边长被压缩到 960设置中把「限制图像边长」调高到 2880 或 4320倾斜/倒置的文字识别错未启用方向分类开启「纠正文本方向」ocr.cls true接受速度略降结果里混着水印、页眉页脚固定区域文字未被排除用「忽略区域」编辑器画矩形框圈住干扰区截图时界面闪烁、UI 错位显卡硬件加速冲突全局设置→界面和外观→切换「渲染器」方案命令行输出收不到结果管道重定向受限用--output写文件或改用 HTTP 转发命令行接口HTTP 调用偶发连接报错后端并发能力有限改为串行调用失败后直接重发请求其中「忽略区域」最值得多花两分钟理解它只忽略完整落在框内的整个文本块而不是框内的单个字符。所以框要画得比水印位置更大、把水印可能出现的全部范围都包住如果某个该忽略的文本块没被去掉多半是它只有一部分落在框内把框扩大重画即可。另一个高频问题是渲染器冲突如果只有截图时闪屏、平时正常基本可以确定是硬件加速渲染的问题切到全局设置里的另一档渲染方案或关闭硬件加速一般立刻恢复。小结回顾一下Umi-OCR 的核心价值在于完全免费、开源解压即用Windows 7 与 Linux 都支持。全程离线运行识别数据不出本机适合处理敏感文档。截图OCR、批量OCR、文档识别、二维码四大场景全覆盖。排版解析 忽略区域两个后处理功能把「能识别」变成「好用」。命令行 HTTP 双接口可无缝接入自动化流程。下一步建议先按「快速上手」跑通一次截图识别再试一次「单栏-保留缩进」解析代码截图。打开 命令行手册在终端执行一次umi-ocr --screenshot --clip。阅读 HTTP 接口文档调用一次参数查询接口get_options看看全部可用参数。有二次开发需求的话浏览 UmiOCR-data/py_src/ 的源码结构。现在就解压一份发行版对着任意一张带代码的截图试试「截图OCR」两分钟内你就能拿到第一个可用的识别结果。【免费下载链接】Umi-OCROCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片PDF文档识别排除水印/页眉页脚扫描/生成二维码。内置多国语言库。项目地址: https://gitcode.com/GitHub_Trending/um/Umi-OCR创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表