pycharm中配置paddleocr记录

pycharm中配置paddleocr记录

一、环境及电脑配置

1.python3
2.pycharm
3.ubntu20
4.gpu-cuda11.1-cudnn

二、下载代码

1.链接:https://github.com/PaddlePaddle/PaddleOCR
2.解压

unzip PaddleOCR-release-2.4.zip

三、pycharm中配置环境

1.根据requirements.txt建立虚拟环境
在这里插入图片描述
之后该路径中就是paddleocr的环境了。也可以pycharm中创建虚拟环境后,使用指令:

pip install -r requirements.txt

注意:如果是没有安装paddle的话,提前安装paddle。安装指令在该网址查询:https://www.paddlepaddle.org.cn/
环境配置基本到此结束!

四、测试模型

1.下载模型
模型下载
在这里插入图片描述
下载结束后解压模型

tar -xvf ch_ppocr_mobile_v2.0_cls_infer.tar
tar -xvf ch_PP-OCRv2_det_infer.tar
tar -xvf ch_PP-OCRv2_rec_infer.tar

在paddleocr文件夹下新建models文件夹,并将解压后的模型放置在models文件夹中。
在这里插入图片描述

2.开始测试
快速开始
接下来就是跟着上面的链接走了。下面主要记录一下遇到的问题
1.使用paddleocr --image_dir ./ppocr_img/imgs/11.jpg --use_angle_cls true --use_gpu false时会继续下载上面的模型文件。
在这里插入图片描述
下载后的模型,需要在ubuntu主目录下按"ctrl+h",显示隐藏文件。即可找到“.paddleocr”文件夹,自动下载后的模型也放置在这里。
在这里插入图片描述
能输出结果就是测试通过了
3.脚本调用
这个也是参考上述的官网教程,同样的只记录问题。
在paddleocr文件夹下新建脚本,写入下面的脚本即可。
官网的中英文与多语言使用脚本如下:

from paddleocr import PaddleOCR, draw_ocr

# Paddleocr目前支持的多语言语种可以通过修改lang参数进行切换
# 例如`ch`, `en`, `fr`, `german`, `korean`, `japan`
ocr = PaddleOCR(use_angle_cls=True, lang="ch")  # need to run only once to download and load model into memory
img_path = './imgs/11.jpg'
result = ocr.ocr(img_path, cls=True)
for line in result:
    print(line)

# 显示结果
from PIL import Image

image = Image.open(img_path).convert('RGB')
boxes = [line[0] for line in result]
txts = [line[1][0] for line in result]
scores = [line[1][1] for line in result]
im_show = draw_ocr(image, boxes, txts, scores, font_path='./fonts/simfang.ttf')
im_show = Image.fromarray(im_show)
im_show.save('result.jpg')

遇到的问题记录:
1.OSError: cannot open resource
在这里插入图片描述
这里需要修改两处:
(1)img_path为自己的测试图像文件
(2)im_show = draw_ocr(image, boxes, txts, scores, font_path=’./fonts/simfang.ttf’)
中ttf文件为字体文件,通过查看draw_ocr实现方法,可以看到 字体文件在doc/fonts文件夹中,故修改为:

im_show = draw_ocr(image, boxes, txts, scores, font_path='./doc/fonts/simfang.ttf')

可视化结果为paddleocr文件夹下的result.jpg。

在这里插入图片描述
效果真不错!
官网的版面分析脚本:

import os
import cv2
from paddleocr import PPStructure,draw_structure_result,save_structure_res

table_engine = PPStructure(show_log=True)

save_folder = './output/table'
img_path = './table/paper-image.jpg'
img = cv2.imread(img_path)
result = table_engine(img)
save_structure_res(result, save_folder,os.path.basename(img_path).split('.')[0])

for line in result:
    line.pop('img')
    print(line)

from PIL import Image

font_path = './fonts/simfang.ttf' # PaddleOCR下提供字体包
image = Image.open(img_path).convert('RGB')
im_show = draw_structure_result(image, result,font_path=font_path)
im_show = Image.fromarray(im_show)
im_show.save('result.jpg')

同样的将:
font_path改为doc/fonts文件夹中的字体。


版权声明:本文为weixin_41868104原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。