如何使用Python進行PDF圖片識別OCR
使用場景
使用圖片識別可以快速提取圖片中的信息,方便高效。
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]
# 設置縮放和旋轉系數(shù)
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的詳細內(nèi)容,更多關于python pdf圖片識別ocr的資料請關注腳本之家其它相關文章!
- Python 實現(xiàn)任意區(qū)域文字識別(OCR)操作
- Python3使用tesserocr識別字母數(shù)字驗證碼的實現(xiàn)
- python3.7中安裝paddleocr及paddlepaddle包的多種方法
- Python調用百度OCR實現(xiàn)圖片文字識別的示例代碼
- python圖片驗證碼識別最新模塊muggle_ocr的示例代碼
- 如何基于Python代碼實現(xiàn)高精度免費OCR工具
- 基于Python的OCR實現(xiàn)示例
- Python基于百度AI實現(xiàn)OCR文字識別
- python3安裝OCR識別庫tesserocr過程圖解
- python 如何做一個識別率百分百的OCR
相關文章
Windows下實現(xiàn)將Pascal VOC轉化為TFRecords
今天小編就為大家分享一篇Windows下實現(xiàn)將Pascal VOC轉化為TFRecords,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02
Windows系統(tǒng)下安裝Python的SSH模塊教程
這篇文章主要介紹了Windows系統(tǒng)下安裝Python的SSH模塊教程,本文涵蓋了pycrypto、ecdsa、paramiko、OpenSSH、SSH等模塊的安裝,需要的朋友可以參考下2015-02-02
關于Python參數(shù)解析器argparse的應用場景
這篇文章主要介紹了關于Python參數(shù)解析器argparse的應用場景,argparse 模塊使編寫用戶友好的命令行界面變得容易,程序定義了所需的參數(shù),而 argparse 將找出如何從 sys.argv 中解析這些參數(shù),需要的朋友可以參考下2023-08-08
Django objects的查詢結果轉化為json的三種方式的方法
這篇文章主要介紹了Django objects的查詢結果轉化為json的三種方式的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-11-11
淺析python表達式4+0.5值的數(shù)據(jù)類型
在本篇文章里小編給大家整理的是一篇關于python表達式4+0.5值的數(shù)據(jù)類型的知識點內(nèi)容,需要的的朋友們學習下。2020-02-02
pandas round方法保留兩位小數(shù)的設置實現(xiàn)
本文主要介紹了pandas round方法保留兩位小數(shù)的設置實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-08-08
python?pandas庫讀取excel/csv中指定行或列數(shù)據(jù)
通過閱讀表格,可以發(fā)現(xiàn)Pandas中提供了非常豐富的數(shù)據(jù)讀寫方法,下面這篇文章主要給大家介紹了關于python利用pandas庫讀取excel/csv中指定行或列數(shù)據(jù)的相關資料,需要的朋友可以參考下2022-02-02

