当前位置:   article > 正文

AI实战:借助Python与PaddleOCR,实现高精度文本检测与识别_aipython

aipython

1、引言

欢迎来到今天的教程:“驾驭PaddleOCR,解锁Python文字识别新技能”。在本篇文章中,我们将手把手教你如何安装及使用这款强大的Python库,轻松应对各类图像中的文字识别问题。

2、安装PaddleOCR

首先确保你的环境中已安装了 Python 和 pip 包管理器。然后,通过以下命令安装PaddleOCR及其依赖项:

# 安装paddleocr
pip3 install paddleocr -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
# 安装CPU版paddlepaddle
conda install paddlepaddle==2.6.0 --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/
  • 1
  • 2
  • 3
  • 4

若需使用 GPU 加速功能,请额外安装 GPU 版本的 PaddlePaddle(需预先配置CUDA环境):

python -m pip install paddlepaddle-gpu==2.4.2.post117 -f https://www.paddlepaddle.org.cn/whl/windows/mkl/avx/stable.html
  • 1

接着,你可以验证一下PaddleOCR是否成功安装:

import paddleocr
print(paddleocr.__version__)
  • 1
  • 2

如果出现PaddlePaddle is installed successfully!,说明您已成功安装。

3、示例代码及应用

安装完毕后,我们可以实际操作一下。以下是使用PaddleOCR进行文字识别的基本代码片段:
1、导入需要的包

from paddleocr import PaddleOCR
import cv2
from PIL import ImageDraw, Image, ImageFont
  • 1
  • 2
  • 3

2、初始化PaddleOCR

# 初始化PaddleOCR
ocr = PaddleOCR(use_angle_cls=True, lang='ch')  # 使用方向分类并指定语言为中文
  • 1
  • 2

3、读取图片

img = cv2.imread('img/1.png')
img_pil = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)  # OpenCV读取的图像需要转换为RGB格式供PIL使用
img_draw = Image.fromarray(img_pil)
  • 1
  • 2
  • 3

4、加载字体,显示中文

# 加载字体,显示中文
font = ImageFont.truetype("source/simsun.ttc", size=16, encoding='utf-8')
  • 1
  • 2

5、对图像进行检测(返回包含边界框和旋转角度的结果)

result = ocr.ocr(img, det=True)
  • 1

6、在原图上标注出识别出的文本框

draw = ImageDraw.Draw(img_draw)
for line in result[0]:
    bbox, text = line[:4], line[-1]
    bbox_xyxy = bbox[0][0]+bbox[0][2]
    text = str(list(text)[0])
    print("Box coordinates:", bbox[0][0]+bbox[0][2])
    print("Recognized text:", text)

    draw.rectangle(tuple(bbox_xyxy), outline='red')  # 画出红色边框
    draw.text((bbox_xyxy[0], bbox_xyxy[1] - 10), text, fill='blue', font=font)  # 在框上方写入文字(根据实际情况调整偏移量)

# 将标注后的图像保存或显示
# img_draw.save('annotated_image.jpg', 'JPEG')
# 或者显示图像
img_draw.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

输入一张图片测试效果如下:

从此刻起,无论是初级开发者还是高级用户,都能通过PaddleOCR在 Python 世界里游刃有余地解决各种文字识别任务!

完整源代码请关注微信公众号后回复 OCR 获取网盘下载链接。
手把手PythonAI编程

往期推荐:

手把手教你玩转人工智能算法,Yolov5实践教程(1)(附源码)

手把手教你玩转人工智能算法,Yolov5实践教程(2)(附源码)

手把手教你生成有趣有料的素描图(附代码)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/678622
推荐阅读
相关标签
  

闽ICP备14008679号