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

