Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Chandler-Lu/alfred-ocr
OCR & Translate using multiple interfaces for multi platform.
https://github.com/Chandler-Lu/alfred-ocr
alfred cnocr ocr python quicker zxing
Last synced: about 2 months ago
JSON representation
OCR & Translate using multiple interfaces for multi platform.
- Host: GitHub
- URL: https://github.com/Chandler-Lu/alfred-ocr
- Owner: Chandler-Lu
- License: agpl-3.0
- Created: 2019-11-26T10:40:50.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2024-03-18T08:10:25.000Z (9 months ago)
- Last Synced: 2024-03-19T08:55:29.944Z (9 months ago)
- Topics: alfred, cnocr, ocr, python, quicker, zxing
- Language: Python
- Homepage: https://www.yeslu.cn/archives/7fe802d0.html
- Size: 5.77 MB
- Stars: 221
- Watchers: 4
- Forks: 22
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Alfred - OCR and Translation
## 下载地址
[Github](https://github.com/Chandler-Lu/alfred-ocr/releases) | [Quicker (Windows)](https://getquicker.net/Sharedaction?code=f73ca43a-98c6-475d-a3cc-08d7c216a695)
## OCR Demo
![Demo_OCR][image-1]
## Translate Demo
![Demo_Trans][image-2]
## 版本
### 4.9.5
- 同步 macOS Alfred 版本;
- 优化代码;
- 修复百度表格识别。### 4.9.2
- 支持 CNOCR 基于 FastAPI 的 HTTP [服务模式](https://github.com/breezedeus/cnocr#http%E6%9C%8D%E5%8A%A1),您可以使用[此方法](https://github.com/Chandler-Lu/alfred-ocr/wiki/Q&A#启用-cnocr-的-fastapi-服务模式-windows)注册 Windows 服务。
### 近期更新
- 百度 OCR 更换接口参数,已修复;
- 支持 Mathpix 公式识别;
- 删除腾讯优图接口,新增腾讯云文字识别接口(正式版);
- 由于可选识别方式过多,CNOCR 的触发方式修改为唯一触发词 `ooc (CNOCR)`。## 能力
- 离线 OCR (CNOCR)
- 通用 OCR (百度 | 腾讯 | Google)
- 二维码识别 (百度 | ZXing)
- 表格文字识别 (百度)
- 数学公式识别 (百度 | Mathpix)
- 多文件识别 (百度)
- 文本翻译 (彩云小译)## 使用(必看!!)
1. 这**不是**一个开箱即用的产品!
2. 您至少要拥有 macOS Alfred 3 及以上版本并激活 Powerpack。
3. 您需要安装 Python 3 及相应的依赖模块,并将 Python 3 路径填写在`PYTHON_PATH`处。
4. 您需要申请并将对应接口的配置填入环境变量,部分接口附带我自己的 Key,但严禁滥用。
5. 具体配置方法请移步 [安装方式][4]。## 依赖
### 通用 OCR
```bash
pip install requests==2.31.0
```### CNOCR (离线 OCR)
```bash
pip install cnocr[ort-cpu]==2.3
pip install cnocr[serve]==2.3 # 针对 FastAPI 服务模式
```### ZXing (离线二维码识别)
```bash
pip install zxing==1.0.1
```## 接口
### [CNOCR][5]
#### 触发
- 截图至剪贴板后使用关键词 `ooc` 触发。
#### 说明
- 一切安装方法请依据该项目 [README][6]。
### [Baidu AI (百度)][7]
#### 触发
1. 通用 OCR:快捷键 ctrl+v 触发截图选框,或截图至剪贴板后使用关键词 `oob (baidu)` 触发;
2. 二维码识别:截图后使用关键词 `ooqb (qr baidu)` 触发;
3. 表格文字识别:截图后使用关键词 `ooe (excel)` 触发,识别后可直接复制至 Excel;
4. 多文件识别:finder 中选中需要识别的图片并使用关键词 `oof (file)` 触发。![File_OCR][image-3]
#### 说明
1. 具备中英文识别,标点符号将被替换为对应语言下的符号;
2. 二维码识别支持同时识别多个;
3. 自带一个测试 Token,不保证可用性,需要稳定可自行申请;
4. 最大支持单个 4MB 的图片。#### 自定义语种
> 目前仅通用 OCR 支持选择语言
语种选择逻辑:
1. ctrl+v 或关键词 `oob` 触发时,将选择环境变量中的 `baidu_language_type` 来定义语种。如果该值为空,则定义为默认值 `CHN_ENG`,即中英文混合识别;
2. 当使用 `oob` 调出选择菜单,并按住 command 触发时,将使用第二语言识别。第一语言选择位置:
![First_Lang_Select][image-4]
第二语言选择位置:
![Second_Lang_Select][image-5]
支持的全部语种及其语种代码如下所示:
```
- CHN_ENG:中英文混合
- ENG:英文
- JAP:日语
- KOR:韩语
- FRE:法语
- SPA:西班牙语
- POR:葡萄牙语
- GER:德语
- ITA:意大利语
- RUS:俄语
```### [Tencent (腾讯)][8]
#### 触发
- 通用 OCR:截图至剪贴板后使用关键词 `oot (tencent)` 触发。
#### 说明
1. 自带一个测试 Token,不保证可用性,需要稳定可自行申请;
2. 最大支持 3MB 的图片。### [Google OCR][9]
#### 触发
- 通用 OCR:截图至剪贴板后使用关键词 `oog (google)` 触发。
#### 环境变量
| 变量名 | 字段说明 |
| ------------------- | ------------------------------------------------ |
| google_access_token | 授权密钥 |
| google_post_referer | HTTP 请求时的 Referer 参数,默认为空 |
| google_http_proxy | HTTP 代理,默认为空,填写方式如 `127.0.0.1:1234` |#### 说明
- Google OCR 为收费业务,需绑定信用卡,故本项目不带测试 Token,需要自行申请。
### [Mathpix](https://mathpix.com)
#### 触发
- 公式识别:截图至剪贴板后使用关键词 `oom (mathpix)` 触发。
#### 说明
- Mathpix 为收费业务,需绑定信用卡,故本项目不带测试 Token,需要自行[申请](https://accounts.mathpix.com/ocr-api)。
### [ZXing][10]
#### 触发
- 截图至剪贴板后使用关键词 `ooq` 触发。
#### 说明
1. 一切安装方法请依据该项目 [README][11];
2. 仅支持单个二维码识别。### [彩云小译][12]
#### 触发
- 文本翻译:使用关键词 `tc (translate caiyun) + 需要翻译的内容` 来触发;输出结果可通过 `command + c` 复制。
#### 说明
1. 自带一个测试 Token,不保证可用性,需要稳定可自行申请;
2. 支持中译英,及 X 译中(X 为彩云小译已经支持的语言类别)。## TODO
- 段落优化
- 截图翻译### 项目
1. [breezedeus/cnocr][13]
2. [dlenski/python-zxing][14]
3. [ginfuru/alfred-screen-capture][15]
4. [oott123/alfred-clipboard-ocr][16]### 用户
感谢以下小伙伴帮助测试:
1. [Elvis Cai][17]
2. [LucasZhan](https://github.com/LucasZhan)[4]: https://www.yeslu.cn/archives/7fe802d0.html
[5]: https://github.com/breezedeus/cnocr
[6]: https://github.com/breezedeus/cnocr/blob/master/README.md
[7]: https://ai.baidu.com/tech/ocr
[8]: https://console.cloud.tencent.com/ocr/overview
[9]: https://cloud.google.com/vision/docs/ocr
[10]: https://github.com/dlenski/python-zxing
[11]: https://github.com/dlenski/python-zxing/blob/master/README.md
[12]: https://fanyi.caiyunapp.com/#/api
[13]: https://github.com/breezedeus/cnocr
[14]: https://github.com/dlenski/python-zxing
[15]: https://github.com/ginfuru/alfred-screen-capture
[16]: https://github.com/oott123/alfred-clipboard-ocr
[17]: https://github.com/elviscai
[image-1]: img/demo_ocr_cn.gif
[image-2]: img/demo_trans.gif
[image-3]: img/file_ocr.png
[image-4]: img/first_lang_selection.png
[image-5]: img/second_lang_selection.png
[image-6]: img/jetbrains_logo.png
[image-7]: img/ocr_abuse.png