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使用的主要内容,如果未能解决你的问题,请参考以下文章