ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Umi-OCR 实战指南:免费离线 OCR 的三个落地路径与调参对照

Umi-OCR 实战指南:免费离线 OCR 的三个落地路径与调参对照 Umi-OCR 实战指南免费离线 OCR 的三个落地路径与调参对照【免费下载链接】Umi-OCROCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片PDF文档识别排除水印/页眉页脚扫描/生成二维码。内置多国语言库。项目地址: https://gitcode.com/GitHub_Trending/um/Umi-OCRUmi-OCR 是一款免费、离线的 OCR 工具解压即用不联网、不注册截屏识别、批量导入图片、PDF 文档解析、二维码扫描都内置还能用命令行和 HTTP 接口调用。本文带你走通单次截图、百图批量、脚本服务化三条真实路径给出一套能直接落地的参数。先看清能力链路输入什么输出什么主程序Umi-OCR.exe按标签页组织功能。动手之前先建个心智模型看每个标签页吃进什么、吐出什么功能标签页输入核心处理输出典型调用方式截图OCR截屏、剪贴板图片文本块检测 排版解析可编辑文本可划选复制umi-ocr --screenshot批量OCR本地图片文件夹批量识别 忽略区域txt/jsonl/md/csvumi-ocr --path D:/scan文档识别pdf/xps/epub/mobi/cbz逐页 OCR 或提取原文本双层可搜索 PDF、txt、csv/api/doc/upload五步流程二维码含码图片19 种协议解码 / 生成文本或码图片umi-ocr --qrcode_read输入图片格式支持jpg, jpe, jpeg, jfif, png, webp, bmp, tif, tiff批量页没有数量上限一次丢几百张图进去跑是可以的。切片一用截图OCR跑通单张代码截图的识别任务前提Windows 机器发行版解压就绪屏幕上有一段 Python 代码要复制进本地工程直接运行。这类任务的坑不在认不认得出而在缩进保不保得住——排版解析用默认值代码会变成一段散文。可复现步骤解压后双击Umi-OCR.exe启动打开截图OCR标签页。在右侧设置里把OCR文本后处理 - 排版解析方案改成单栏-保留缩进对应参数值single_code。按默认快捷键唤起截图框选代码区域等右栏出现识别记录。左侧预览区全选文本右键 → 复制直接粘进编辑器。想完全脱离鼠标可在终端执行umi-ocr --screenshot --output D:/ocr_out/code.txt。Umi-OCR 截图OCR页面左栏为图片预览右栏为识别记录可划选后右键复制关键配置等价参数保存在./UmiOCR-data/.settingsini 格式# 排版解析代码截图用 single_code保留行首缩进与行内空格 tbpu.parser single_code # 边长限制截图最长边通常不足 960 像素默认值即不压缩 ocr.limit_side_len 960跑通后的真实输出缩进完整保留def greet(name): print(Hello, name) if __name__ __main__: greet(Umi-OCR)避坑single_code只适合代码。识别普通文档请换回默认的multi_para多栏-按自然段换行否则多栏排版会被拼成长长一行。切片二用批量OCR跑通带水印的百张扫描图任务前提一个文件夹 120 张发票/合同扫描300dpi 的 jpg最长边约 2480 像素顶部有红色水印、右下角带 LOGO。直接扔进批量页跑每页文本都会混进水印词后处理要手工清洗一整晚。可复现步骤切到批量OCR标签页点选择图片加入扫描图文件夹。右栏设置里打开忽略区域编辑器按住右键拖出两个矩形框一个罩住顶部水印一个罩住右下角 LOGO。框尽量画大把水印可能出现的所有位置完全包进去。保存格式选csv每张图片的识别结果汇总成表格方便后续处理。点开始任务盯顶部进度条耗时、完成数/总数、百分比列表里每行还有单图耗时与置信度。Umi-OCR 批量OCR页面左栏列出每张图片的耗时与置信度右栏为逐文件识别记录关键配置忽略区域编辑器的等价设置HTTP 调用时也可直接传{ tbpu.ignoreArea: [ [[0, 0], [1240, 60]], [[1080, 560], [1300, 660]] ] }坐标是像素值每项为[左上角, 右下角]。注意识别前图片会按ocr.limit_side_len压缩切片一里的960所以框要在压缩后的预览图上画上面两框按 1240×660 的预览尺寸举例。跑通后的真实输出批量列表逐图耗时 平均置信度py测试.png 0.40s √0.92 test.png 0.86s √0.88 test1.png 0.08s √0.95避坑忽略区域按文本块判定——只有完整落在框内的文本块才被丢弃。水印若只压住文本块的一半那个块照样输出把框画到能整个包住它或者回头裁图。切片三用HTTP服务跑通图片进、文本出的脚本任务前提脚本要每天定时识别一批发票图不能靠人点界面。Umi-OCR 内置 HTTP 服务默认端口1224默认开启每次调用都能带识别参数。可复现步骤打开全局设置勾选高级选项以展开更多设置项确认HTTP服务处于开启状态。主机保持仅本地命令转发接口/argv本来就只允许127.0.0.1调用没必要暴露到局域网。浏览器访问http://127.0.0.1:1224/api/ocr/get_options把当前引擎的参数名、默认值、枚举值看一遍再写脚本别猜。把下面的 Python 客户端放进定时任务。跑一次检查响应里的code、time、data三个字段。Umi-OCR 全局设置页面语言、主题等选项在此HTTP服务相关设置需勾选高级后显示关键配置客户端脚本可直接运行import base64, json, requests url http://127.0.0.1:1224/api/ocr with open(D:/invoice/20240601.jpg, rb) as f: b64 base64.b64encode(f.read()).decode() data { base64: b64, options: { ocr.language: models/config_chinese.txt, tbpu.parser: multi_para, # 发票是普通文本默认段落换行即可 data.format: text, # 只要文本不需要 box 坐标 ocr.limit_side_len: 2880, # 300dpi 扫描最长边约2480960 会压过头 }, } res json.loads(requests.post(url, jsondata, timeout30).text) print(res[code], res.get(time), res.get(data))跑通后的真实输出100 0.86 发票号码 24312000000112345678 价税合计大写人民币……code100表示成功101表示没识别到文本其余值都是失败time是本次识别耗时秒本机单图 0.86s 属正常水平。避坑一个真实失败场景官方文档明确写了后端对并发支持较差不要拿 8 个线程轰同一个端口长时间高频调用偶发Error: connect ECONNREFUSED只要进程活着原样重发即可恢复。另外返回的 JSON 经过转义文本里带换行时务必先 json 解析再取data别手工按行 split。选型与调优什么场景改什么参数场景关键参数推荐取值作用代码截图tbpu.parsersingle_code保留行首缩进与行内空格普通文档截图tbpu.parsermulti_para默认自动判断多栏按自然段换行300dpi 扫描件、长图ocr.limit_side_len2880默认960边长超过该值的图先压缩再识别调高大图精度更好但更慢倾斜或倒置文字ocr.clstrue启用方向分类能识别倒置文本速度下降固定水印、页眉页脚tbpu.ignoreArea如[[[0,0],[1240,60]]]完全落入框内的文本块被丢弃英文等多语言文档ocr.languagemodels/config_en.txt等切换模型库内置简中/英/繁中/日/韩/俄 6 种配置程序二次开发data.formatdict每个文本块返回 box、score、end便于按坐标回写为什么这么配扫描件要把960抬到2880960是默认值因为多数截图最长边比它小等于不压缩、精度最稳但 300dpi 的 A4 扫描件最长边约 2480 像素按960压缩后只剩不到四成笔画糊掉、小字号整行错认。抬到2880基本保持原尺寸。ocr.cls不要默认开方向分类给每个文本块多跑一次推理同一批图耗时明显上涨实际碰到倾斜、倒置文档再开。参数名和当前引擎强相关ocr.cls、ocr.limit_side_len仅 PaddleOCR 插件提供RapidOCR 插件的参数集不同写脚本前先用get_options确认一遍。落地清单上线前逐项打勾把截图OCR页的排版解析方案改成你最常用的那个避免下次截图又出一篇乱序文本先用两三张样图画出忽略区域框确认水印消失再启动全量批量任务按用途选保存格式txt直接读jsonl/csv做二次开发大批量任务可勾选完成后自动关机HTTP 服务保持仅本地跑脚本前先调一次get_options确认参数名与默认值手动改完./UmiOCR-data/.settings后执行umi-ocr --reload让配置生效别靠重启进程进一步去哪看HTTP 接口总览docs/http/README.md图片识别参数明细docs/http/api_ocr.md命令行手册含截屏、粘贴、路径、二维码全部指令docs/README_CLI.md配置文件UmiOCR-data/.settingsini 格式界面设置都会落到这里允许手动修改先把批量页的忽略区域框画出来再谈调参——区域没排除limit_side_len调到 4320 也照样出一身水印。【免费下载链接】Umi-OCROCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片PDF文档识别排除水印/页眉页脚扫描/生成二维码。内置多国语言库。项目地址: https://gitcode.com/GitHub_Trending/um/Umi-OCR创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表