如何优雅地实现文字 & 二维码检测?

大模型向量数据库机器学习

猴哥的第 58 期分享,欢迎追看

前几篇,和大家分享了如何通过 Python 和相关库,自动化处理 PDF 文档,提高办公效率。

实操的同学发现,无论是 fitz 还是 PyPDF2 都无法搞定图片中的文字 & 二维码。

今天,继续给大家分享两个库,完美解决上述问题,亲测好用。

  1. 文字检测-PPOCR =============

文字检测OCR(光学字符识别)广泛应用于文档数字化、自动化数据输入、车牌识别等领域。现代 OCR 利用深度学习和图像处理算法,能够处理各种字体和语言。随着 AI 的发展,OCR 的准确率和处理速度已近乎完美。

本文采用的是 PPOCR 这个库,来自百度飞桨团队,模型轻量,处理速度也相当感人。

1.1 安装

安装也非常简单,因为依赖 paddlepaddle,所以需要一并安装:

  
pip install paddlepaddle==2.6.1  
pip install ppocr  

1.2 调用

安装完成后,几行代码实现调用:

  
def img_ocr(img_path=None, img_data=None):  
    if img_data is not None:  
        img = img_data  
    else:  
        img = cv2.imread(img_path)  
    result = ppocr.ocr(img, cls=True)[0]  
    texts = []  
    if result:  
        for line in result:  
            box = line[0]  
            text = line[1][0]  
            texts.append([text, box])  
    return texts  

注意:首次使用,paddleocr 会将模型下载到你的本地目录:C:\Users\xxx\.paddleocr\,后续使用将直接调用本地模型。

我们找一张图片来测试下:

picture.image

将结果打印出来:

picture.image

❌第二行出现了一个识别错误:江苏手机阅读显,把二维码识别成了,看来单纯靠 OCR 还是不太可靠😂~

✔️看来还得用 GPT 来排查一下文字错误。

  1. 二维码检测-pyzbar ===============

二维码应该说是一种标准化的信息存储方式,通常由黑白方块组成,广泛应用于支付、商品追踪和信息共享等场景。

展示在图像中,二维码检测具有非常显著的特点,但因为二维码形式多样,简单的图像处理方法无法很好地识别各种类型二维码。

这里我们采用 pyzbar 这个库,实现二维码检测。

2.1 安装

安装这里有个坑,尝试了两种方式,都无法调用成功。

一开始尝试 pip 安装:

  
pip install pyzbar  

报错提示依赖库没有成功安装,尝试了 conda 安装:

  
conda install -c conda-forge pyzbar # 还是失败  

最终在官方仓库中找到解决方案:需要安装 vcredist_x64.exe(需要的小伙伴公众号后台回复“vcredist_x64.exe”自取)。

再次调用就没问题了。

2.2 调用

示例代码如下:

  
def qrcode_detect(image):  
    gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)  
    codes = decode(gray_image)  
    results = []   
    for code in codes:  
        x, y, w, h = code.rect.left, code.rect.top, code.rect.width, code.rect.height  
        results.append([x, y, w, h])  
    return image  

codes 中包含了所有的二维码信息,包括二维码中编码的 url/文本等信息。

我们把检测结果打印出来看下:

picture.image

写在最后

本文给大家带来了一种最简单的文字 & 二维码检测方法,亲测在白底黑字的文档场景中有效。

欢迎有其他解决方案的小伙伴,评论区交流下啊~

如果本文对你有帮助,不妨点个免费的“赞”和“在看”,随手“转发”支持一下。

👇 关注猴哥,快速入门AI工具

picture.image

# AI 工具:

本地部署大模型?看这篇就够了,Ollama 部署和实战

【玩转云服务】Oracle Cloud甲骨文永久免费云服务器,来薅资本主义羊毛了!白嫖党请进!

# AI应用** :**

手把手搭建微信机器人,帮你雇一个24小时在线的个人 AI 助理(上)

视频生成 EasyAnimate-v3 实测,阿里开源,5 分钟带你部署体验,支持高分辨率超长视频

# 效率工具:

电脑微信双开/多开?两种方法任你挑,1分钟搞定

简单3步,搞定 Windows11 系统安装/重装

0
0
0
0
关于作者

文章

0

获赞

0

收藏

0

相关资源
大规模高性能计算集群优化实践
随着机器学习的发展,数据量和训练模型都有越来越大的趋势,这对基础设施有了更高的要求,包括硬件、网络架构等。本次分享主要介绍火山引擎支撑大规模高性能计算集群的架构和优化实践。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论