Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

开发能调用操作系统的 OCR API 的 Node.js 模块 #2

Open
lmk123 opened this issue May 9, 2022 · 1 comment
Open

开发能调用操作系统的 OCR API 的 Node.js 模块 #2

lmk123 opened this issue May 9, 2022 · 1 comment
Labels
help wanted Extra attention is needed

Comments

@lmk123
Copy link
Member

lmk123 commented May 9, 2022

背景

划词翻译(桌面端)的截图翻译功能需要用到 OCR,我希望能有人开发一个能直接使用操作系统的 OCR 接口的 Node.js 模块。

需求

开发一个能调用操作系统的 OCR 接口的 Node.js 模块。

实现方式

有两种方式可以开发出这个模块。

N-API

N-API 的话,你需要用 C/C++ 来调用操作系统的接口,然后使用 N-API 包装成 Node.js 的模块。

单独为各个操作系统开发命令行工具

Node.js 是可以执行命令行的,所以也可以分别给不同的操作系统开发对应的命令行工具,然后我来写 Node.js 调用它。

比如在 macOS 上用 Swift 或 Object-C 开发一个命令行工具,在 Windows 上就开发一个 .exe 文件。

例如 https://github.com/sindresorhus/clipboardy 这个项目,在 Windows 上是用 Node.js 调用了一个 .exe 文件来读写剪切板:https://github.com/sindresorhus/clipboardy/blob/main/lib/windows.js

这个命令行工具需要接收的参数有:

  1. 一个图片文件的路径
  2. 指定语种
  3. 其它可能有用的、OCR API 支持的参数

输出文字就行。

一些示例

这是一个用 Swift 开发的 OCR API 命令行工具:https://github.com/ughe/macocr 但是没有文档,也不知道要怎么用

这是一个 Windows 的 OCR API 命令行工具:https://github.com/zh-h/Windows.Media.Ocr.Cli 但上次维护是 4 年前了,未测试可用性

@lmk123 lmk123 added the help wanted Extra attention is needed label May 9, 2022
@SakuOtonashi
Copy link

作者或许可以参考这个gosseract,是我之前用golang写的示例。提供一个本地http服务,调用的是C语言的tesseract。可以跨平台运行,Linux没有提供内置OCR的话,用这个默认的。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants