Name | pdocr-rpc JSON |
Version |
1.0.1
JSON |
| download |
home_page | |
Summary | PaddleOCR-RPC |
upload_time | 2023-05-26 10:33:01 |
maintainer | |
docs_url | None |
author | |
requires_python | >=3.7 |
license | |
keywords |
|
VCS |
 |
bugtrack_url |
|
requirements |
paddlepaddle
paddleocr
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# RPC-PaddleOCR
基于 PaddleOCR 部署的 RPC 服务。
提供了一个简单易用的函数 `ocr`,通过不同的参数控制返回不同的值。
## 安装
```shell
pip install pdocr-rpc
```
另外还需要手动安装以下依赖:
### 客户端依赖
客户端仅需要安装**截图工具**;
- `Windows` 上使用:
```shell
pip3 install pillow
```
- `Linux` 上使用:
[PIL](https://en.wikipedia.org/wiki/Python_Imaging_Library) 的 `ImageGrab` 模块在部分的 `Linux` 上可能存在问题,报错:`ImportError: ImageGrab is macOS and Windows only` ;
`Linux` 上推荐安装 `pyscreenshot`;
```shell
pip3 install pyscreenshot
```
### 服务端依赖
安装 PaddleOCR` 环境
```
pip3 install paddlepaddle -i https://mirror.baidu.com/pypi/simple
pip3 install "paddleocr>=2.0.1" -i https://mirror.baidu.com/pypi/simple
```
## 1、使用方法
### 1.1、导入
```python
from pdocr_rpc import ocr
```
### 1.2、使用场景
#### 1.1.1、识别当前屏幕的所有文字内容
```python
ocr()
```
自动识别当前整个屏幕的所有内容。
#### 1.1.2、指定某张图片识别的所有文字内容
```python
ocr(picture_abspath="~/Desktop/test.png")
```
返回识别图片 `test.png` 的内容。
#### 1.1.3、在全屏指定查找某个字符串的坐标
```python
ocr("天天向上")
```
返回当前屏幕中,“天天向上”的坐标,如果存在多个,则返回一个字典。
#### 1.1.4、指定某张图片查找某个字符串的坐标
```python
ocr("天天向上",picture_abspath="~/Desktop/test.png")
```
### 1.3、其他参数
```shell
similarity: 匹配度。
return_default: 返回识别的原生数据。
return_first: 只返回第一个,默认为 False,返回识别到的所有数据。
lang: `ch`, `en`, `fr`, `german`, `korean`, `japan`
```
### 2.1、启动服务
将 `ocr_server.py` 文件拷贝到 `ocr_env` 目录,后台执行它就好了:
```
cd ocr_env
nohup pipenv run python ocr_server.py &
```
### 2.2、配置开机自启
你肯定不想每次机器重启之后都需要手动启动服务,因此我们需要配置开机自启。
写开机自启服务文件:
```
sudo vim /lib/systemd/system/ocr.service
```
`autoocr` 名称你可以自定义,写入以下内容:
```
[Unit]
Description=OCR Service
After=multi-user.target
[Service]
User=uos
Group=uos
Type=idle
WorkingDirectory=/home/uos/ocr_env
ExecStart=pipenv run python ocr_server.py
[Install]
WantedBy=multi-user.target
```
> 注意替换你的${USER}
修改配置文件的权限:
```
sudo chmod 644 /lib/systemd/system/ocr.service
```
自启服务生效:
```
sudo systemctl daemon-reload
sudo systemctl enable ocr.service
```
查看服务状态:
```
sudo systemctl status ocr.service
```
你可以再重启下电脑,看看服务是不是正常启动了,没报错就 OK 了。
### 2.3、缓存
在 `ocr_env/pic` 目录下保存了识别的一些缓存图片文件,您可能需要定期进行删除;
当然,你可以使用定时任务对缓存文件进行清理,例如 `crontab`、`Jenkins` 任务等。
Raw data
{
"_id": null,
"home_page": "",
"name": "pdocr-rpc",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "",
"keywords": "",
"author": "",
"author_email": "mikigo <1964191531@qq.com>",
"download_url": "https://files.pythonhosted.org/packages/83/68/59183724b772698087ac1f1232e9554b67e86c4968fcef42ab3e06e9bb0e/pdocr-rpc-1.0.1.tar.gz",
"platform": null,
"description": "# RPC-PaddleOCR\n\n\u57fa\u4e8e PaddleOCR \u90e8\u7f72\u7684 RPC \u670d\u52a1\u3002\n\n\u63d0\u4f9b\u4e86\u4e00\u4e2a\u7b80\u5355\u6613\u7528\u7684\u51fd\u6570 `ocr`\uff0c\u901a\u8fc7\u4e0d\u540c\u7684\u53c2\u6570\u63a7\u5236\u8fd4\u56de\u4e0d\u540c\u7684\u503c\u3002\n\n## \u5b89\u88c5\n\n```shell\npip install pdocr-rpc\n```\n\n\u53e6\u5916\u8fd8\u9700\u8981\u624b\u52a8\u5b89\u88c5\u4ee5\u4e0b\u4f9d\u8d56\uff1a\n\n### \u5ba2\u6237\u7aef\u4f9d\u8d56\n\n\u5ba2\u6237\u7aef\u4ec5\u9700\u8981\u5b89\u88c5**\u622a\u56fe\u5de5\u5177**\uff1b\n\n- `Windows` \u4e0a\u4f7f\u7528\uff1a\n\n```shell\npip3 install pillow\n```\n\n- `Linux` \u4e0a\u4f7f\u7528\uff1a\n\n[PIL](https://en.wikipedia.org/wiki/Python_Imaging_Library) \u7684 `ImageGrab` \u6a21\u5757\u5728\u90e8\u5206\u7684 `Linux` \u4e0a\u53ef\u80fd\u5b58\u5728\u95ee\u9898\uff0c\u62a5\u9519\uff1a`ImportError: ImageGrab is macOS and Windows only` \uff1b\n\n`Linux` \u4e0a\u63a8\u8350\u5b89\u88c5 `pyscreenshot`\uff1b\n\n```shell\npip3 install pyscreenshot\n```\n\n### \u670d\u52a1\u7aef\u4f9d\u8d56\n\n\u5b89\u88c5 PaddleOCR` \u73af\u5883\n\n```\npip3 install paddlepaddle -i https://mirror.baidu.com/pypi/simple\npip3 install \"paddleocr>=2.0.1\" -i https://mirror.baidu.com/pypi/simple\n```\n\n\n\n## 1\u3001\u4f7f\u7528\u65b9\u6cd5\n\n### 1.1\u3001\u5bfc\u5165\n\n```python\nfrom pdocr_rpc import ocr\n```\n\n### 1.2\u3001\u4f7f\u7528\u573a\u666f\n\n#### 1.1.1\u3001\u8bc6\u522b\u5f53\u524d\u5c4f\u5e55\u7684\u6240\u6709\u6587\u5b57\u5185\u5bb9\n\n```python\nocr()\n```\n\n\u81ea\u52a8\u8bc6\u522b\u5f53\u524d\u6574\u4e2a\u5c4f\u5e55\u7684\u6240\u6709\u5185\u5bb9\u3002\n\n#### 1.1.2\u3001\u6307\u5b9a\u67d0\u5f20\u56fe\u7247\u8bc6\u522b\u7684\u6240\u6709\u6587\u5b57\u5185\u5bb9\n\n```python\nocr(picture_abspath=\"~/Desktop/test.png\")\n```\n\n\u8fd4\u56de\u8bc6\u522b\u56fe\u7247 `test.png` \u7684\u5185\u5bb9\u3002 \n\n#### 1.1.3\u3001\u5728\u5168\u5c4f\u6307\u5b9a\u67e5\u627e\u67d0\u4e2a\u5b57\u7b26\u4e32\u7684\u5750\u6807\n\n```python\nocr(\"\u5929\u5929\u5411\u4e0a\")\n```\n\n\u8fd4\u56de\u5f53\u524d\u5c4f\u5e55\u4e2d\uff0c\u201c\u5929\u5929\u5411\u4e0a\u201d\u7684\u5750\u6807\uff0c\u5982\u679c\u5b58\u5728\u591a\u4e2a\uff0c\u5219\u8fd4\u56de\u4e00\u4e2a\u5b57\u5178\u3002\n\n#### 1.1.4\u3001\u6307\u5b9a\u67d0\u5f20\u56fe\u7247\u67e5\u627e\u67d0\u4e2a\u5b57\u7b26\u4e32\u7684\u5750\u6807\n\n```python\nocr(\"\u5929\u5929\u5411\u4e0a\"\uff0cpicture_abspath=\"~/Desktop/test.png\")\n```\n\n### 1.3\u3001\u5176\u4ed6\u53c2\u6570\n\n```shell\nsimilarity: \u5339\u914d\u5ea6\u3002\nreturn_default: \u8fd4\u56de\u8bc6\u522b\u7684\u539f\u751f\u6570\u636e\u3002\nreturn_first: \u53ea\u8fd4\u56de\u7b2c\u4e00\u4e2a,\u9ed8\u8ba4\u4e3a False,\u8fd4\u56de\u8bc6\u522b\u5230\u7684\u6240\u6709\u6570\u636e\u3002\nlang: `ch`, `en`, `fr`, `german`, `korean`, `japan`\n```\n\n### 2.1\u3001\u542f\u52a8\u670d\u52a1\n\n\u5c06 `ocr_server.py` \u6587\u4ef6\u62f7\u8d1d\u5230 `ocr_env` \u76ee\u5f55\uff0c\u540e\u53f0\u6267\u884c\u5b83\u5c31\u597d\u4e86\uff1a\n\n```\ncd ocr_env\nnohup pipenv run python ocr_server.py &\n```\n\n### 2.2\u3001\u914d\u7f6e\u5f00\u673a\u81ea\u542f\n\n\u4f60\u80af\u5b9a\u4e0d\u60f3\u6bcf\u6b21\u673a\u5668\u91cd\u542f\u4e4b\u540e\u90fd\u9700\u8981\u624b\u52a8\u542f\u52a8\u670d\u52a1\uff0c\u56e0\u6b64\u6211\u4eec\u9700\u8981\u914d\u7f6e\u5f00\u673a\u81ea\u542f\u3002\n\n\u5199\u5f00\u673a\u81ea\u542f\u670d\u52a1\u6587\u4ef6\uff1a\n\n```\nsudo vim /lib/systemd/system/ocr.service\n```\n\n`autoocr` \u540d\u79f0\u4f60\u53ef\u4ee5\u81ea\u5b9a\u4e49\uff0c\u5199\u5165\u4ee5\u4e0b\u5185\u5bb9\uff1a\n\n```\n[Unit]\nDescription=OCR Service\nAfter=multi-user.target\n\n[Service]\nUser=uos\nGroup=uos\nType=idle\nWorkingDirectory=/home/uos/ocr_env\nExecStart=pipenv run python ocr_server.py\n\n[Install]\nWantedBy=multi-user.target\n```\n\n> \u6ce8\u610f\u66ff\u6362\u4f60\u7684${USER}\n\n\u4fee\u6539\u914d\u7f6e\u6587\u4ef6\u7684\u6743\u9650\uff1a\n\n```\nsudo chmod 644 /lib/systemd/system/ocr.service\n```\n\n\u81ea\u542f\u670d\u52a1\u751f\u6548\uff1a\n\n```\nsudo systemctl daemon-reload\nsudo systemctl enable ocr.service\n```\n\n\u67e5\u770b\u670d\u52a1\u72b6\u6001\uff1a\n\n```\nsudo systemctl status ocr.service\n```\n\n\u4f60\u53ef\u4ee5\u518d\u91cd\u542f\u4e0b\u7535\u8111\uff0c\u770b\u770b\u670d\u52a1\u662f\u4e0d\u662f\u6b63\u5e38\u542f\u52a8\u4e86\uff0c\u6ca1\u62a5\u9519\u5c31 OK \u4e86\u3002\n\n### 2.3\u3001\u7f13\u5b58\n\n\u5728 `ocr_env/pic` \u76ee\u5f55\u4e0b\u4fdd\u5b58\u4e86\u8bc6\u522b\u7684\u4e00\u4e9b\u7f13\u5b58\u56fe\u7247\u6587\u4ef6\uff0c\u60a8\u53ef\u80fd\u9700\u8981\u5b9a\u671f\u8fdb\u884c\u5220\u9664\uff1b\n\n\u5f53\u7136\uff0c\u4f60\u53ef\u4ee5\u4f7f\u7528\u5b9a\u65f6\u4efb\u52a1\u5bf9\u7f13\u5b58\u6587\u4ef6\u8fdb\u884c\u6e05\u7406\uff0c\u4f8b\u5982 `crontab`\u3001`Jenkins` \u4efb\u52a1\u7b49\u3002\n",
"bugtrack_url": null,
"license": "",
"summary": "PaddleOCR-RPC",
"version": "1.0.1",
"project_urls": {
"Bug Tracker": "https://github.com/funny-test/pdocr-rpc/issues",
"Homepage": "https://github.com/funny-test/pdocr-rpc"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "485c98dc041b8654a90d64be9ca8445a0032d59cf2c60243c046d6453c838b70",
"md5": "18be58845fd678739a5981fba903c3a9",
"sha256": "deea162441b5ce371b53f970907d01ab7fdfa987f0940fd62f5e4e8f2f6022ba"
},
"downloads": -1,
"filename": "pdocr_rpc-1.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "18be58845fd678739a5981fba903c3a9",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 10562,
"upload_time": "2023-05-26T10:32:59",
"upload_time_iso_8601": "2023-05-26T10:32:59.202934Z",
"url": "https://files.pythonhosted.org/packages/48/5c/98dc041b8654a90d64be9ca8445a0032d59cf2c60243c046d6453c838b70/pdocr_rpc-1.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "836859183724b772698087ac1f1232e9554b67e86c4968fcef42ab3e06e9bb0e",
"md5": "06d42a6fd857f68a349e7180299faa09",
"sha256": "2fd6ab37788c5a11269033e6c7add9f0dbd03f0a0fb026ee1a4bdf8484e5027a"
},
"downloads": -1,
"filename": "pdocr-rpc-1.0.1.tar.gz",
"has_sig": false,
"md5_digest": "06d42a6fd857f68a349e7180299faa09",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 9207,
"upload_time": "2023-05-26T10:33:01",
"upload_time_iso_8601": "2023-05-26T10:33:01.475463Z",
"url": "https://files.pythonhosted.org/packages/83/68/59183724b772698087ac1f1232e9554b67e86c4968fcef42ab3e06e9bb0e/pdocr-rpc-1.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-05-26 10:33:01",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "funny-test",
"github_project": "pdocr-rpc",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "paddlepaddle",
"specs": []
},
{
"name": "paddleocr",
"specs": [
[
">=",
"2.0.1"
]
]
}
],
"lcname": "pdocr-rpc"
}