一些有趣的网站,昆山网站建设昆山,昆明网页制作步骤,建站公司获客成本前几篇#xff0c;和大家分享了如何通过 Python 和相关库#xff0c;自动化处理 PDF 文档#xff0c;提高办公效率。
【Python实战】自动化处理 PDF 文档#xff0c;完美实现 WPS 会员功能【Python实战】如何优雅地实现 PDF 去水印#xff1f;【Python实战】一键生成 PDF…前几篇和大家分享了如何通过 Python 和相关库自动化处理 PDF 文档提高办公效率。
【Python实战】自动化处理 PDF 文档完美实现 WPS 会员功能【Python实战】如何优雅地实现 PDF 去水印【Python实战】一键生成 PDF 报告图文并茂代码全公开
实操的同学发现无论是 fitz 还是 PyPDF2 都无法搞定图片中的文字 二维码。
今天继续给大家分享两个库完美解决上述问题亲测好用。 目录 1. 文字检测-PPOCR1.1 安装1.2 调用 2. 二维码检测-pyzbar2.1 安装2.2 调用 写在最后 1. 文字检测-PPOCR
文字检测OCR光学字符识别广泛应用于文档数字化、自动化数据输入、车牌识别等领域。现代 OCR 利用深度学习和图像处理算法能够处理各种字体和语言。随着 AI 的发展OCR 的准确率和处理速度已近乎完美。
本文采用的是 PPOCR 这个库来自百度飞桨团队模型轻量处理速度也相当感人。
1.1 安装
安装也非常简单因为依赖 paddlepaddle所以需要一并安装
pip install paddlepaddle2.6.1
pip install ppocr1.2 调用
安装完成后几行代码实现调用
def img_ocr(img_pathNone, img_dataNone):if img_data is not None:img img_dataelse:img cv2.imread(img_path)result ppocr.ocr(img, clsTrue)[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\后续使用将直接调用本地模型。
我们随便找一张图片来测试下 将结果打印出来 ❌第二行出现了一个识别错误江苏手机阅读显把二维码识别成了显看来单纯靠 OCR 还是不太可靠~
✔️看来还得用 GPT 来排查一下文字错误。
2. 二维码检测-pyzbar
二维码应该说是一种标准化的信息存储方式通常由黑白方块组成广泛应用于支付、商品追踪和信息共享等场景。
展示在图像中二维码检测具有非常显著的特点但因为二维码形式多样简单的图像处理方法无法很好地识别各种类型二维码。
这里我们采用 pyzbar 这个库实现二维码检测。
2.1 安装
安装这里有个坑尝试了两种方式都无法调用成功。
一开始尝试 pip 安装
pip install pyzbar报错提示依赖库没有成功安装尝试了 conda 安装
conda install -c conda-forge pyzbar # 还是失败最终在官方仓库中找到解决方案需要安装 vcredist_x64.exe。
再次调用就没问题了。
2.2 调用
示例代码如下
def qrcode_detect(image, left0.12, right1.12, top0.15, bottom1.25):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.heightresults.append([x, y, w, h])return imagecodes 中包含了所有的二维码信息包括二维码中编码的 url/文本等信息。
我们把检测结果打印出来看下 写在最后
本文给大家带来了一种最简单的文字 二维码检测方法亲测在白底黑字的文档场景中有效。
欢迎有其他解决方案的小伙伴评论区交流下啊~
如果本文对你有帮助欢迎点赞收藏备用。