pdocr-rpc


Namepdocr-rpc JSON
Version 2023.12.28 PyPI version JSON
download
home_page
SummaryPaddleOCR-RPC
upload_time2023-12-28 03:03:00
maintainer
docs_urlNone
author
requires_python>=3.7
license
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # pdocr-rpc

基于 `PaddleOCR` 封装的 `RPC` 服务,包含客户端和服务端。

客户端提供了一个简单易用的函数 `ocr`,通过不同的参数控制返回不同的值。

**为什么要分成服务端和客户端?**

因为 `PaddleOCR` 安装**太重**了,如果你的使用场景是需要经常安装,那绝对是一个痛苦的事情,你要是知道它每次安装要装多少东西你肯定会忍不住摇头;

而在服务端一次性安装部署之后,客户端就可以零成本的使用,非常的方便。

---

**Documentation**: <a href="https://linuxdeepin.github.io/pdocr-rpc" target="_blank">https://linuxdeepin.github.io/pdocr-rpc</a>

**Source Code**: <a href="https://github.com/linuxdeepin/pdocr-rpc" target="_blank">https://github.com/linuxdeepin/pdocr-rpc</a>

---

## 1、服务端

### 服务端安装

```console
pip install pdocr-rpc[server]
```

### 服务端启动服务

随意新建一个`py`文件,名称你可以自定义,比如:`ocr_server.py`;

写入以下内容:

```python
# ocr_server.py
from pdocr_rpc.server import server

server()
```

默认端口号为 `8890` 如果你想修改端口:

```python
from pdocr_rpc.server import server
from pdocr_rpc.conf import setting

setting.PORT = 8888
server()
```

## 2、客户端

### 客户端安装

```console
pip install pdocr-rpc
```

### 客户端使用

#### 2.1、识别当前屏幕的所有文字内容

```python
from pdocr_rpc import OCR
from pdocr_rpc.conf import setting

# 注意IP和端口要和你的服务端IP对应
setting.SERVER_IP = "192.168.0.1"
setting.PORT = 8888

OCR.ocr()
```

自动识别当前整个屏幕的所有内容。

#### 2.2、指定某张图片识别的所有文字内容

```python
OCR.ocr(picture_abspath="~/Desktop/test.png")
```

返回识别图片 `test.png` 的内容。 

#### 2.3、在全屏指定查找某个字符串的坐标

```python
OCR.ocr("天天向上")
```

返回当前屏幕中,“天天向上”的坐标,如果存在多个,则返回一个字典。

#### 2.4、指定某张图片查找某个字符串的坐标

```python
OCR.ocr("天天向上",picture_abspath="~/Desktop/test.png")
```

#### 2.5、其他参数

- 识别语言

  lang: `ch`, `en`, `fr`, `german`, `korean`, `japan`

  默认为ch,中文,如果要修改识别语言;

  ```python
  OCR.ocr(lang="ch") 
  ```

- 匹配度

  similarity: float

  默认为0.6,可以修改为从0到1的数;

  ```shell
  OCR.ocr(similarity=0.1)
  ```

- 返回原始数据

  return_default: bool

  默认为False,即默认返回识别到字符串的中心坐标,True表示返回原始数据;

  ```python
  OCR.ocr(return_default=False)
  ```

- 只返回第一个

  return_first: bool

  当传入要查找的字符串时,可能存在当前屏幕中有多个目标;

  默认情况下是会将识别到的多个目标组装成字典返回;

  return_first=True 表示返回识别到的第一个。

  ```python
  OCR.ocr(return_first=True )
  ```

  

            

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/63/96/85a9e6b7a04b5caab0f8985965635eeb9b916b890061654605bb654e0206/pdocr_rpc-2023.12.28.tar.gz",
    "platform": null,
    "description": "# pdocr-rpc\n\n\u57fa\u4e8e `PaddleOCR` \u5c01\u88c5\u7684 `RPC` \u670d\u52a1\uff0c\u5305\u542b\u5ba2\u6237\u7aef\u548c\u670d\u52a1\u7aef\u3002\n\n\u5ba2\u6237\u7aef\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**\u4e3a\u4ec0\u4e48\u8981\u5206\u6210\u670d\u52a1\u7aef\u548c\u5ba2\u6237\u7aef\uff1f**\n\n\u56e0\u4e3a `PaddleOCR` \u5b89\u88c5**\u592a\u91cd**\u4e86\uff0c\u5982\u679c\u4f60\u7684\u4f7f\u7528\u573a\u666f\u662f\u9700\u8981\u7ecf\u5e38\u5b89\u88c5\uff0c\u90a3\u7edd\u5bf9\u662f\u4e00\u4e2a\u75db\u82e6\u7684\u4e8b\u60c5\uff0c\u4f60\u8981\u662f\u77e5\u9053\u5b83\u6bcf\u6b21\u5b89\u88c5\u8981\u88c5\u591a\u5c11\u4e1c\u897f\u4f60\u80af\u5b9a\u4f1a\u5fcd\u4e0d\u4f4f\u6447\u5934\uff1b\n\n\u800c\u5728\u670d\u52a1\u7aef\u4e00\u6b21\u6027\u5b89\u88c5\u90e8\u7f72\u4e4b\u540e\uff0c\u5ba2\u6237\u7aef\u5c31\u53ef\u4ee5\u96f6\u6210\u672c\u7684\u4f7f\u7528\uff0c\u975e\u5e38\u7684\u65b9\u4fbf\u3002\n\n---\n\n**Documentation**: <a href=\"https://linuxdeepin.github.io/pdocr-rpc\" target=\"_blank\">https://linuxdeepin.github.io/pdocr-rpc</a>\n\n**Source Code**: <a href=\"https://github.com/linuxdeepin/pdocr-rpc\" target=\"_blank\">https://github.com/linuxdeepin/pdocr-rpc</a>\n\n---\n\n## 1\u3001\u670d\u52a1\u7aef\n\n### \u670d\u52a1\u7aef\u5b89\u88c5\n\n```console\npip install pdocr-rpc[server]\n```\n\n### \u670d\u52a1\u7aef\u542f\u52a8\u670d\u52a1\n\n\u968f\u610f\u65b0\u5efa\u4e00\u4e2a`py`\u6587\u4ef6\uff0c\u540d\u79f0\u4f60\u53ef\u4ee5\u81ea\u5b9a\u4e49\uff0c\u6bd4\u5982\uff1a`ocr_server.py`\uff1b\n\n\u5199\u5165\u4ee5\u4e0b\u5185\u5bb9\uff1a\n\n```python\n# ocr_server.py\nfrom pdocr_rpc.server import server\n\nserver()\n```\n\n\u9ed8\u8ba4\u7aef\u53e3\u53f7\u4e3a `8890` \u5982\u679c\u4f60\u60f3\u4fee\u6539\u7aef\u53e3\uff1a\n\n```python\nfrom pdocr_rpc.server import server\nfrom pdocr_rpc.conf import setting\n\nsetting.PORT = 8888\nserver()\n```\n\n## 2\u3001\u5ba2\u6237\u7aef\n\n### \u5ba2\u6237\u7aef\u5b89\u88c5\n\n```console\npip install pdocr-rpc\n```\n\n### \u5ba2\u6237\u7aef\u4f7f\u7528\n\n#### 2.1\u3001\u8bc6\u522b\u5f53\u524d\u5c4f\u5e55\u7684\u6240\u6709\u6587\u5b57\u5185\u5bb9\n\n```python\nfrom pdocr_rpc import OCR\nfrom pdocr_rpc.conf import setting\n\n# \u6ce8\u610fIP\u548c\u7aef\u53e3\u8981\u548c\u4f60\u7684\u670d\u52a1\u7aefIP\u5bf9\u5e94\nsetting.SERVER_IP = \"192.168.0.1\"\nsetting.PORT = 8888\n\nOCR.ocr()\n```\n\n\u81ea\u52a8\u8bc6\u522b\u5f53\u524d\u6574\u4e2a\u5c4f\u5e55\u7684\u6240\u6709\u5185\u5bb9\u3002\n\n#### 2.2\u3001\u6307\u5b9a\u67d0\u5f20\u56fe\u7247\u8bc6\u522b\u7684\u6240\u6709\u6587\u5b57\u5185\u5bb9\n\n```python\nOCR.ocr(picture_abspath=\"~/Desktop/test.png\")\n```\n\n\u8fd4\u56de\u8bc6\u522b\u56fe\u7247 `test.png` \u7684\u5185\u5bb9\u3002 \n\n#### 2.3\u3001\u5728\u5168\u5c4f\u6307\u5b9a\u67e5\u627e\u67d0\u4e2a\u5b57\u7b26\u4e32\u7684\u5750\u6807\n\n```python\nOCR.ocr(\"\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#### 2.4\u3001\u6307\u5b9a\u67d0\u5f20\u56fe\u7247\u67e5\u627e\u67d0\u4e2a\u5b57\u7b26\u4e32\u7684\u5750\u6807\n\n```python\nOCR.ocr(\"\u5929\u5929\u5411\u4e0a\"\uff0cpicture_abspath=\"~/Desktop/test.png\")\n```\n\n#### 2.5\u3001\u5176\u4ed6\u53c2\u6570\n\n- \u8bc6\u522b\u8bed\u8a00\n\n  lang\uff1a `ch`, `en`, `fr`, `german`, `korean`, `japan`\n\n  \u9ed8\u8ba4\u4e3ach\uff0c\u4e2d\u6587\uff0c\u5982\u679c\u8981\u4fee\u6539\u8bc6\u522b\u8bed\u8a00\uff1b\n\n  ```python\n  OCR.ocr(lang=\"ch\") \n  ```\n\n- \u5339\u914d\u5ea6\n\n  similarity: float\n\n  \u9ed8\u8ba4\u4e3a0.6\uff0c\u53ef\u4ee5\u4fee\u6539\u4e3a\u4ece0\u52301\u7684\u6570\uff1b\n\n  ```shell\n  OCR.ocr(similarity=0.1)\n  ```\n\n- \u8fd4\u56de\u539f\u59cb\u6570\u636e\n\n  return_default: bool\n\n  \u9ed8\u8ba4\u4e3aFalse\uff0c\u5373\u9ed8\u8ba4\u8fd4\u56de\u8bc6\u522b\u5230\u5b57\u7b26\u4e32\u7684\u4e2d\u5fc3\u5750\u6807\uff0cTrue\u8868\u793a\u8fd4\u56de\u539f\u59cb\u6570\u636e\uff1b\n\n  ```python\n  OCR.ocr(return_default=False)\n  ```\n\n- \u53ea\u8fd4\u56de\u7b2c\u4e00\u4e2a\n\n  return_first: bool\n\n  \u5f53\u4f20\u5165\u8981\u67e5\u627e\u7684\u5b57\u7b26\u4e32\u65f6\uff0c\u53ef\u80fd\u5b58\u5728\u5f53\u524d\u5c4f\u5e55\u4e2d\u6709\u591a\u4e2a\u76ee\u6807\uff1b\n\n  \u9ed8\u8ba4\u60c5\u51b5\u4e0b\u662f\u4f1a\u5c06\u8bc6\u522b\u5230\u7684\u591a\u4e2a\u76ee\u6807\u7ec4\u88c5\u6210\u5b57\u5178\u8fd4\u56de\uff1b\n\n  return_first=True \u8868\u793a\u8fd4\u56de\u8bc6\u522b\u5230\u7684\u7b2c\u4e00\u4e2a\u3002\n\n  ```python\n  OCR.ocr(return_first=True )\n  ```\n\n  \n",
    "bugtrack_url": null,
    "license": "",
    "summary": "PaddleOCR-RPC",
    "version": "2023.12.28",
    "project_urls": {
        "Documentation": "https://linuxdeepin.github.io/pdocr-rpc",
        "Source": "https://github.com/linuxdeepin/pdocr-rpc"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8ada5a18efab36ea24365236d3e627fce044112ff08f1a26ced686dad825ea4c",
                "md5": "6a4bbab7522d1ad260529e10f90cc3b5",
                "sha256": "eea18275f9008396fd7c702e9aaa7fdb4f980ce7bf705f2540aa59cd9b32aae6"
            },
            "downloads": -1,
            "filename": "pdocr_rpc-2023.12.28-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "6a4bbab7522d1ad260529e10f90cc3b5",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 12043,
            "upload_time": "2023-12-28T03:02:58",
            "upload_time_iso_8601": "2023-12-28T03:02:58.606365Z",
            "url": "https://files.pythonhosted.org/packages/8a/da/5a18efab36ea24365236d3e627fce044112ff08f1a26ced686dad825ea4c/pdocr_rpc-2023.12.28-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "639685a9e6b7a04b5caab0f8985965635eeb9b916b890061654605bb654e0206",
                "md5": "8b8742664d64fe4e0a0b6a3429ad6de9",
                "sha256": "a7b2a40d0d0a4819c4e6db541798dfff13160314372c91f63e95279b0eb99621"
            },
            "downloads": -1,
            "filename": "pdocr_rpc-2023.12.28.tar.gz",
            "has_sig": false,
            "md5_digest": "8b8742664d64fe4e0a0b6a3429ad6de9",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 9775,
            "upload_time": "2023-12-28T03:03:00",
            "upload_time_iso_8601": "2023-12-28T03:03:00.899859Z",
            "url": "https://files.pythonhosted.org/packages/63/96/85a9e6b7a04b5caab0f8985965635eeb9b916b890061654605bb654e0206/pdocr_rpc-2023.12.28.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-12-28 03:03:00",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "linuxdeepin",
    "github_project": "pdocr-rpc",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "pdocr-rpc"
}
        
Elapsed time: 0.16174s