paddleocr使用

Posted chen1880

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了paddleocr使用相关的知识,希望对你有一定的参考价值。

安装Anaconda3-2023.03-1-Windows-x86_64.exe

配置源
C:\\Users\\thzn>pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/ # 配置


conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud//pytorch/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --set show_channel_urls yes

创建虚拟环境
conda create -n pp python=3.7 -y
conda activate pp

手动安装
pip install paddlepaddle==2.4.2 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install paddleocr
pip freeze > requirements.txt

自动安装
pip install -r requirements.txt

from paddleocr import PaddleOCR

def ocr_image(img_path):
    result = ocr.ocr(img_path, cls=True)

    print(\'-----------\');
    for node1 in result:
        for node2 in node1:
            txt = (node2[1][0]);
            score = (node2[1][1]);
            print(txt, score);

if __name__ == "__main__":
    ocr = PaddleOCR(use_angle_cls=True, use_gpu=False, lang="ch")
    ocr_image(\'./imgs/car1.jpg\');
    ocr_image(\'./imgs/ship1.jpg\');

 

PaddleOCR简单使用教程-Windows

说明

最近公司业务需要用到图文识别类似的功能,所以查阅了许多工具之后选择用百度开源的PaddleOCR来进行使用

先看官方简介:
百度飞桨PaddleOCR旨在打造一套丰富、领先、且实用的OCR工具库,助力开发者训练出更好的模型,并应用落,支持多种OCR相关前沿算法,在此基础上打造产业级特色模型PP-OCR和PP-Structure,并打通数据生产、模型训练、压缩、预测部署全流程
PaddleOCR旨在打造一套丰富、领先、且实用的OCR工具库,助力开发者训练出更好的模型,并应用落地。

PaddleOCR官方主页:https://www.paddlepaddle.org.cn/
GitHub地址:https://github.com/PaddlePaddle/PaddleOCR
Gitee地址:https://gitee.com/paddlepaddle/PaddleOCR

实现功能

网上很多教程,官方也有文档,我结合官方的文档和自己的使用来进行说明

准备Python环境

因为paddle整个工具依赖Python环境,所以首先要准备好Python环境
如果本身就有的就不说了,如果没有的可以通过两种方式进行安装,这里我通过官方推荐的安装Anaconda工具包来集成Python环境,推荐对Python不熟练的都使用这种方式,因为他会自动帮我们安装很多依赖包,省去了很多的麻烦

安装Anaconda

Anaconda的安装很简单,一般都不会出问题,所以我就直接把官方的步骤写在下面
清华大学的镜像地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=D
官方地址:https://docs.anaconda.com/anaconda/install/hashes/win-3-64/

这里两个都可以,根据自己网络选择安装

下载完成后,双击安装程序进入图形界面

默认安装位置为C盘,建议将安装位置更改到D盘:

勾选conda加入环境变量,忽略警告:

打开终端并创建conda环境

打开Anaconda Prompt终端:左下角Windows Start Menu -> Anaconda3 -> Anaconda Prompt启动控制台


创建新的conda环境

# 在命令行输入以下命令,创建名为paddle_env的环境
# 此处为加速下载,使用清华源 官方推荐安装3.8的python,我这里安装3.10
conda create --name paddle_env python=3.10 --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/  

激活刚创建的conda环境,在命令行中输入以下命令:

# 激活paddle_env环境
conda activate paddle_env
# 查看当前python的位置
where python

安装PaddleOCR

我下面所有的命令安装后面都跟了-i https://mirror.baidu.com/pypi/simple 这是指定他的源是百度那边,如果不加这个会很慢,所以建议后面的安装都加上相关指定

安装Paddle

根据自己机器选择GPU还是CPU的版本,GPU还分了10和9,可自行查看
这里是CPU版本,所以安装的是CPU版本

pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple

安装好之后可以在python的依赖包目录里面查看是否安装成功,windows的路径一般都在你的python安装路径\\Lib\\site-packages里面

安装PaddleOCR包

这里网上有两种安装方式,一种是官方推荐的直接全局安装PaddleOCR,这样后面就可以直接在任意位置进行命令调取,还有一种是安装解压包然后进行使用,我两者都有使用

全局安装

pip install paddleocr -i https://mirror.baidu.com/pypi/simple

这里的安装很有可能会报错,一般都是缺少模块的问题,看报的错误缺少什么模块就用pip把相关模块安装好之后再安装就行了
如果还是报错可以手动下载相关模块的shapely安装包完成安装,地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely

还是老样子,安装好之后可以在python的依赖包目录下面查看

解压包安装

在github或者gitee上面可以下载相关的解压包

然后在当前路径下通过命令进行相关模块的安装

pip install -r requirements.txt -i https://mirror.baidu.com/pypi/simple

中途可能会报错

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for lanms-neo
Failed to build lanms-neo
ERROR: Could not build wheels for lanms-neo, which is required to install pyproject.toml-based projects

这里我查阅了很多资料,有说指定paddleocr版本为2.0.6的,有说缺少c++环境的,经过我自己的测试,发现应该是缺少c++环境导致,然后网上一些说缺少这个版本,一些说缺少那个版本,实在看的我眼花,最后索性直接通过Visual Studio installer工具进行相关项的安装


我是安装了这几个组件,安装好之后最好重启一下电脑
然后再次通过命令安装相关的依赖模块就不报错了,成功安装好需要的包

运行

把图片放到指定的路径,然后运行命令

paddleocr --image_dir ./imgs/11.jpg --use_angle_cls true --use_gpu false

最后控制台输出结果:

大功告成!

模型下载

paddleocr提供了很多推理模型供我们下载,想要对于不同场景进行识别,需要下载相应的模型
下载地址:https://gitee.com/paddlepaddle/PaddleOCR/blob/release/2.6/doc/doc_ch/models_list.md
下载好之后在paddlerocr的目录下面新建inference文件夹,然后把模型解压后的包放进去,启动的时候可以通过参数指定模型即可

以上是关于paddleocr使用的主要内容,如果未能解决你的问题,请参考以下文章

百度PaddleOCR及云平台OCR API详解及示例

paddleocr使用

C++ | PaddleOCR+OpenCV实现文字识别步骤与代码演示

PaddleOCR文字识别使用教程(训练自己的数据集)

PaddleOCR文字识别使用教程(训练自己的数据集)

PaddleOCR文字识别使用教程(训练自己的数据集)