# pdocr-rpc **Repository Path**: dance-monkey/pdocr-rpc ## Basic Information - **Project Name**: pdocr-rpc - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2024-12-26 - **Last Updated**: 2024-12-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # pdocr-rpc 基于 `PaddleOCR` 封装的 `RPC` 服务,包含客户端和服务端。 客户端提供了一个简单易用的函数 `ocr`,通过不同的参数控制返回不同的值。 **为什么要分成服务端和客户端?** 因为 `PaddleOCR` 安装**太重**了,如果你的使用场景是需要经常安装,那绝对是一个痛苦的事情,你要是知道它每次安装要装多少东西你肯定会忍不住摇头; 而在服务端一次性安装部署之后,客户端就可以零成本的使用,非常的方便。 --- **Documentation**: https://linuxdeepin.github.io/pdocr-rpc **Source Code**: https://github.com/linuxdeepin/pdocr-rpc --- ## 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 ) ```