如何使用Python进行PDF图片识别OCR


Posted in Python onJanuary 22, 2021

使用场景

使用图片识别可以快速提取图片中的信息,方便高效。

Python并不能直接对PDF进行识别,所以如果是识别PDF的话,需要先将PDF转化为图片,然后再进行识别。

必备工具

  • Python 

可以安装3.7及以上版本

  • tesseract-ocr 

下载地址: https://github.com/UB-Mannheim/tesseract/wiki 使用最新版本即可

  • 需要用到的库
pip install pillow
pip install opencv-python
pip install fitz
pip install PyMuPDF
pip install pytesseract

代码示例

from PIL import Image
import os
import pytesseract 
import cv2 as cv
import fitz

def pdf_image(pdfPath,imgPath,zoom_x,zoom_y,rotation_angle):
  # 打开PDF文件
  pdf = fitz.open(pdfPath)
  # 逐页读取PDF
  for pg in range(0, pdf.pageCount):
    page = pdf[pg]
    # 设置缩放和旋转系数
    trans = fitz.Matrix(zoom_x, zoom_y).preRotate(rotation_angle)
    pm = page.getPixmap(matrix=trans, alpha=False)
    # 开始写图像
    pm.writePNG(imgPath+str(pg)+".png")
    #pm.writePNG(imgPath)
  pdf.close()
pdf_path ='D:/123.pdf'
img_path ='D:/123.png'
pdf_image(pdf_path,img_path,5,5,0)
# 依赖opencv
img=cv.imread(img_path)
text=pytesseract.image_to_string(Image.fromarray(img),lang='chi_tra')
# 不依赖opencv写法
# text=pytesseract.image_to_string(Image.open(img_path))
print(text)

总结

识别清晰的文字图片的时候准确率非常高

但是识别手写体的话效果不太好

注意事项

在安装tesseract-ocr 的时候一定要记得选择对应的语言,不然是无法正常使用的。

以上就是如何使用Python进行PDF图片识别OCR的详细内容,更多关于python pdf图片识别ocr的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python实现随机密码字典生成器示例
Apr 09 Python
Python进程间通信用法实例
Jun 04 Python
python selenium 对浏览器标签页进行关闭和切换的方法
May 21 Python
Python实现模拟浏览器请求及会话保持操作示例
Jul 30 Python
python中的tcp示例详解
Dec 09 Python
Python基础知识点 初识Python.md
May 14 Python
Python3 无重复字符的最长子串的实现
Oct 08 Python
Django密码存储策略分析
Jan 09 Python
Python 日期的转换及计算的具体使用详解
Jan 16 Python
Python pip install如何修改默认下载路径
Apr 29 Python
TensorFlow中如何确定张量的形状实例
Jun 23 Python
使用Python绘制台风轨迹图的示例代码
Sep 21 Python
详解pandas映射与数据转换
Jan 22 #Python
python实现简单的井字棋游戏(gui界面)
Jan 22 #Python
Django url 路由匹配过程详解
Jan 22 #Python
浅析pandas随机排列与随机抽样
Jan 22 #Python
python 合并多个excel中同名的sheet
Jan 22 #Python
Python读取pdf表格写入excel的方法
Jan 22 #Python
python 基于UDP协议套接字通信的实现
Jan 22 #Python
You might like
php 8小时时间差的解决方法小结
2009/12/22 PHP
PHP高自定义性安全验证码代码
2011/11/27 PHP
php导入excel文件到mysql数据库的方法
2015/01/14 PHP
PHP简单实现二维数组的矩阵转置操作示例
2017/11/24 PHP
thinkphp5 加载静态资源路径与常量的方法
2017/12/24 PHP
超强的IE背景图片闪烁(抖动)的解决办法
2007/09/09 Javascript
javascript 框架小结 个人工作经验
2009/06/13 Javascript
当jQuery遭遇CoffeeScript的时候 使用分享
2011/09/17 Javascript
web开发人员学习jQuery的6大理由及jQuery的优势介绍
2013/01/03 Javascript
JS实现FLASH幻灯片图片切换效果的方法
2015/03/04 Javascript
CSS图片响应式 垂直水平居中
2015/08/14 Javascript
JavaScript正则表达式替换字符串中图片地址(img src)的方法
2017/01/13 Javascript
JavaScript实现二分查找实例代码
2017/02/22 Javascript
JS声明对象时属性名加引号与不加引号的问题及解决方法
2018/02/16 Javascript
安装Node.js并启动本地服务的操作教程
2018/05/12 Javascript
JavaScript常用内置对象用法分析
2019/07/09 Javascript
Python用GET方法上传文件
2015/03/10 Python
python 多线程实现检测服务器在线情况
2015/11/25 Python
Python爬虫抓取代理IP并检验可用性的实例
2018/05/07 Python
使用python 3实现发送邮件功能
2018/06/15 Python
在Mac上删除自己安装的Python方法
2018/10/29 Python
详解python的super()的作用和原理
2020/10/29 Python
Clarks英国官方网站:全球领军鞋履品牌
2016/11/26 全球购物
Forever 21美国官网:美国标志性快时尚品牌
2017/02/20 全球购物
戴尔英国官网:Dell英国
2017/05/27 全球购物
奥斯汀独木舟和皮划艇:Austin Canoe & Kayak
2018/05/22 全球购物
德国香水、化妆品和护理产品网上商店:Parfumdreams
2018/09/26 全球购物
奥地利购买珠宝和手表网站:ELLA JUWELEN
2019/09/03 全球购物
会议接待欢迎词
2014/01/12 职场文书
中文专业学生自我评价范文
2014/02/06 职场文书
致裁判员加油稿
2014/02/08 职场文书
竞聘演讲稿怎么写
2014/08/28 职场文书
班主任先进事迹材料
2014/12/17 职场文书
感动中国何玥观后感
2015/06/02 职场文书
爸爸的三轮车观后感
2015/06/16 职场文书
Nginx反向代理至go-fastdfs案例讲解
2021/08/02 Servers