酷站(www.ku0.com)-致力于为互联网从业者提供动力!

热门关键词:  企业  as  baidu  c4rp3nt3r  美女
阿里云爆款特惠,精选爆款产品低至0.55折

使用Python进行PDF图片识别OCR

来源:转载 作者:秩名 人气: 发布时间:2021-01-22
本篇文章主要介绍了使用Python进行PDF图片识别OCR,对大家的学习或者工作具有一定的参考学习价值,感兴趣的小伙伴们可以参考一下,也感谢大家对酷站(ku0.com)的支持。

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

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 的时候一定要记得选择对应的语言,不然是无法正常使用的。

版权声明:本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 959677720#qq.cn(#换@) 举报,一经查实,本站将立刻删除。
原文链接:https://www.cnblogs.com/xuhongfei/p/14280431.html

相关文章

  • Python利用socket模块开发简单的端口扫描工具

    Python利用socket模块开发简单的端口扫描工具

    一、socket 1.简介 Socket又称套接字,应用程序通常通过套接字向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯。 socket的工作流程 socket 采用C/S 模式,分为服务端和客户端 服务端数据处理流程 创建socket ......
    01-27
  • 使用Python进行PDF图片识别OCR

    使用Python进行PDF图片识别OCR

    使用图片识别可以快速提取图片中的信息,方便高效。 Python并不能直接对PDF进行识别,所以如果是识别PDF的话,需要先将PDF转化为图片,然后再进行识别。 必备工具 Python 可以安装3.7及以上版本 tesseract-ocr 下载地址:https://github.......
    01-22
  • Python实现石头剪刀布游戏的代码

    Python实现石头剪刀布游戏的代码

    利用随机函数制作石头剪刀布小游戏 程序只运行一次 import randoma = input(请出拳(石头/剪刀/布):)b = [剪刀, 石头, 布]# 定义赢的列表win_list = [[石头, 剪刀], [剪刀, 布], [布, 石头]]# 计算机随机选择出拳mac = random.choice(b)p......
    01-21
  • python爬取抖音视频的实例详解

    python爬取抖音视频的实例详解

    现在抖音的火爆程度,大家都是有目共睹的吧,之前小编在网络上发现好玩的事情,就是去爬取一些网站,因此,也考虑能否进行抖音上的破案去,在实际操作以后,真的实现出来了,利用自动化工具,就可以轻松实现了,后有小伙伴提出把appium去......
    01-19
  • python制作微博图片爬取工具的教程详解

    python制作微博图片爬取工具的教程详解

    有小半个月没有发博客了,因为一直在研究python的GUI,买了一本书学习了一些基础,用我所学做了我的第一款GUI微博图片爬取工具。本软件源代码已经放在了博客中,另外软件已经打包好上传到网盘中以供下载学习。 一.准备工作 本次要用到以......
    01-16
  • 详解pycharm鼠标右键快捷键打开项目

    详解pycharm鼠标右键快捷键打开项目

    1、查看鼠标右键快捷键,可以看到pycharm打开项目快捷键 2、打开注册器 win+r键打开,输入regedit,运行注册器 找到下面的路径:计算机\HKEY_CLASSES_ROOT\Directory\Background\shell\PyCharm 删除pycharm文件夹,即可 已经没有了,表示......
    01-16
  • 使用OpenCV实现人脸图像卡通化

    使用OpenCV实现人脸图像卡通化

    通过前面的文章我们已经了解到OpenCV 是一个用于计算机视觉和机器学习的开源 python 库。它主要针对实时计算机视觉和图像处理。它用于对图像执行不同的操作,这些操作使用不同的技术对图像进行转换。在本文中,我们将实现使用OpenCV将人......
    01-15
  • 让你相见恨晚的十个Python骚操作

    让你相见恨晚的十个Python骚操作

    前言 众所周知,Python 以语法简洁著称,同样实现一个功能,Java 可能要十来行,Python 一行就可以搞定。 Python 的代码之所以这么优雅,完全归功于其独有的特性,只要你掌握了这些特性,同样可以写出像诗一样的代码。 下面我们就一起看......
    11-18
  • Python实现壁纸下载与轮换的教程

    Python实现壁纸下载与轮换的教程

    准备 下载安装Python3 官网下载即可,选择合适的版本:https://www.python.org/downloads/ 安装一直下一步即可,记得勾选添加到环境变量。 安装pypiwin32 执行设置壁纸操作需要调用Windows系统的API,需要安装pypiwin32,控制台执行如下......
    10-20
  • 教你如何快速自学python

    教你如何快速自学python

    一、作为初学者,应该如何学python? 很多人对python缩进试的简洁表达不以为然。那些都是已混迹于C和JAVA的老鸟已经习惯了花括号。对于初学者,python语言是最好写,最好读的。 二、追求生产力,应该学python python是全能语言,社区庞大......
    06-23

最新更新