【免费下载链接】ndlocr-lite
NDLOCR-Liteアプリケーションのリポジトリ(ソースコードを含む)NDLOCR‑Lite application repository (including source code)
NDLOCR-Lite 是日本国立国会图书馆开源的轻量级 OCR(光学字符识别)工具,支持屏幕捕获 OCR:无需截图软件、无需保存图片文件,直接在屏幕上框选书籍页面即可瞬间识别出文字。它不依赖 GPU,在普通笔记本电脑上就能高速运行,支持 Windows、macOS 和 Linux 三大平台。本教程带你从零开始,10 分钟上手这套免费的屏幕截图文字识别功能。
一、什么是 NDLOCR-Lite 屏幕捕获 OCR?
传统 OCR 的流程是:先拍照或截图保存成图片文件,再喂给识别软件。而 NDLOCR-Lite 的**屏幕捕获模式(ScreenCapture Mode)**把这两步合一了——你在屏幕上框选哪个区域,它就识别哪个区域,背后通过ImageGrab直接抓取屏幕像素并送入识别模型,整个过程不落地任何图片文件。
它的核心技术由三大模块组成(详见 src/ocr.py):
| 模块 | 作用 | 实现 |
|---|---|---|
| 布局识别 | 找出图中所有文字行的位置 | DEIMv2 检测模型(DINOv3 蒸馏的 ViT-Tiny 骨干) |
| 文字识别 | 把每条文字行读成文本 | PARSeq 序列识别模型(ONNX) |
| 阅读顺序整理 | 按正确顺序拼接全文 | src/reading_order/order/reorder.py |
得益于级联式多尺度识别策略(见 src/ocr.py 中的process_cascade函数),短行用轻量模型快速处理、长行才交给大模型,CPU 上也能保持流畅的速度。
二、安装准备:获取并启动 NDLOCR-Lite
📥获取方式(二选一):
- 下载桌面应用(推荐新手):从项目 releases 页面下载与你的系统匹配(Windows/Mac/Linux)的压缩包,解压后双击
ndlocr_lite即可运行,无需安装 Python; - 从源码克隆:
git clone https://gitcode.com/gh_mirrors/nd/ndlocr-lite cd ndlocr-lite pip install -r requirements.txt⚠️重要提示:请将应用放在不含日文全角字符的路径下,否则可能无法启动。首次启动约需 1 分钟加载模型,请耐心等待进度条走完,看到"OCRモデル準備完了"提示即准备就绪。
启动后你会看到 NDLOCR-Lite-GUI 主界面(源码位于 ndlocr-lite-gui/main.py):
界面右上角的语言切换器支持日本語 / English双语,界面顶部有醒目的「キャプチャモード(ScreenCapture Mode)」按钮——它就是本文主角。
三、屏幕捕获 OCR 操作步骤(一键框选识别)
整个功能的核心实现是 ndlocr-lite-gui/main.py 中的CaptureTool类,它把"截图 + 识别 + 出文"封装成了四步操作:
第 1 步:先选定输出目录
点击「出力先を選択する(选择输出目录)」,选好识别文本要保存的文件夹。屏幕捕获的结果会直接写入该目录。
第 2 步:把书页放上屏幕
在浏览器或 PDF 阅读器中打开书籍页面(比如数字图书馆的扫描页),调整到合适的显示大小。字体越大,识别效果越好。
第 3 步:点击「キャプチャモード」按钮
界面会全屏变半透明(约 30% 不透明度)并置顶,同时隐藏标题栏——此时你看到的就是屏幕的"透明蒙版"。用鼠标按住拖动,框选书籍文字区域,松开鼠标即完成捕获。程序会自动把 NDLOCR-Lite 窗口恢复原状(详见start_capture与_capture_and_restore方法,ndlocr-lite-gui/main.py)。
第 4 步:预览并执行识别
弹出「キャプチャ結果(捕获结果)」对话框,显示刚截取的屏幕区域:
- 点「再キャプチャ(Retake)」:重新框选,方便修正选区;
- 勾选「範囲固定(Fix Region)」:固定当前选区,之后点重试会直接重截同一块区域(屏幕内容刷新时特别实用);
- 点「OCR実行」:开始识别,界面会显示耗时(秒级完成)。
识别完成后弹出结果窗口,左侧是截取区域缩略图,右侧是可直接选中的识别文本,还可通过开关切换「整形表示(Markdown)」格式化视图。文本会同时保存为.txt文件到你的输出目录。
四、进阶技巧:让屏幕捕获更好用
🔍技巧 1:善用"范围固定"连续识别多页
对同一本书的连续页面,勾选「範囲固定」后反复点「再キャプチャ」+「OCR実行」,每次都会截取同一位置,非常适合逐页数字化。
📊技巧 2:开启表格结构识别
如果界面中出现了表格结构复选框(可选项,取决于安装的可选项模块),勾选后可对含表格的页面做表格结构推断,输出额外的_tables.html文件。
📁技巧 3:与批量模式配合
屏幕捕获是"应急通道",如果你有完整扫描文件,用左侧的「画像ファイルを処理する」或「フォルダ内の画像を処理する」进行批量 OCR 效率更高,支持 jpg/png/tiff/jp2/bmp/webp 及 PDF 文件,并可输出 JSON、XML、TEI、带隐形文字层的 PDF 等多种格式(配置逻辑见 ndlocr-lite-gui/gui_config.py)。
🖊️技巧 4:手写文字也支持
从 v1.2 起,NDLOCR-Lite 强化了手写文字识别。对 JaWildText 基准 1065 张手写图片的评测中,整体平均 CER(字符错误率)仅为0.268,横排、竖排手写都能读。屏幕捕获模式同样适用——拍不好实物、但屏幕上有清晰图片时,直接框选屏幕即可。
五、常见问题 FAQ
| 问题 | 解答 |
|---|---|
| 屏幕捕获对屏幕截图质量有要求吗? | 有。屏幕显示越清晰(分辨率高、字体大)识别率越高,建议 100% 以上缩放显示页面 |
| 识别结果保存到哪里? | 你通过「出力先を選択する」选定的目录,文件名为captureimg.txt |
| 可以识别非日文文字吗? | 主要面向日文(活字+手写),内置字符集见 src/config/NDLmoji.yaml |
| 需要 GPU 吗? | 不需要。默认cpu运行,服务器环境可选--device cuda加速 |
| 首启动慢怎么办? | 首次约 1 分钟属正常,模型(src/model/ 下的 ONNX 文件)正在加载 |
六、总结
NDLOCR-Lite 的屏幕捕获 OCR 把"看屏幕的文字 → 变成可编辑文本"压缩成了框选 + 一次点击:
- ✅ 免费开源(CC BY 4.0),无需 GPU,笔记本即可流畅运行
- ✅ 三步完成:选输出目录 → 点「キャプチャモード」→ 框选执行 OCR
- ✅ 支持重截、区域固定、Markdown 整形视图、表格结构识别
- ✅ 横排/竖排/手写/活字通吃,还兼容批量文件与 PDF 处理
对于需要快速数字化书籍资料、又不想折腾截图和文件转换的场景,这套完整的屏幕 OCR 流程值得立即收藏。
【免费下载链接】ndlocr-lite
NDLOCR-Liteアプリケーションのリポジトリ(ソースコードを含む)NDLOCR‑Lite application repository (including source code)
相关推荐
Electron屏幕捕获:实现屏幕截图与录屏功能
Electron屏幕捕获:实现屏幕截图与录屏功能 在桌面应用开发中,屏幕捕获是一个常见且重要的功能需求。无论是用于远程协助、教学演示、游戏录制还是应用监控,屏幕
桌面应用跨平台前端如何快速开发Electron-React-Boilerplate屏幕捕获功能:从截图到录屏的完整指南
如何快速开发Electron React Boilerplate屏幕捕获功能:从截图到录屏的完整指南 Electron React Boilerplate是一个
示例工程前端Captura屏幕录制工具:功能强大的开源屏幕捕获解决方案
Captura屏幕录制工具:功能强大的开源屏幕捕获解决方案 Captura是一款基于C 和.NET Framework开发的开源屏幕录制工具,采用模块化架构设计
桌面应用屏幕录制音视频
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考