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

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/

若需使用 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

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

import paddleocr
print(paddleocr.__version__)

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

3、示例代码及应用

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

from paddleocr import PaddleOCR
import cv2
from PIL import ImageDraw, Image, ImageFont

2、初始化PaddleOCR

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

3、读取图片

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

4、加载字体,显示中文

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

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

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

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()

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

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

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

往期推荐:

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

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

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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值