如何使用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 pillowpip install opencv-pythonpip install fitzpip install PyMuPDFpip install pytesseract代碼示例
from PIL import Imageimport osimport pytesseract import cv2 as cvimport fitzdef 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)# 依賴opencvimg=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)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. python實(shí)現(xiàn)讀取類別頻數(shù)數(shù)據(jù)畫水平條形圖案例2. python中PyQuery庫用法分享3. python操作數(shù)據(jù)庫獲取結(jié)果之fetchone和fetchall的區(qū)別說明4. 關(guān)于HTML5的img標(biāo)簽5. PHP獲取時(shí)間戳等相關(guān)函數(shù)匯總6. python 爬取嗶哩嗶哩up主信息和投稿視頻7. ASP.NET MVC前臺(tái)動(dòng)態(tài)添加文本框并在后臺(tái)使用FormCollection接收值8. CSS3實(shí)現(xiàn)動(dòng)態(tài)翻牌效果 仿百度貼吧3D翻牌一次動(dòng)畫特效9. php使用正則驗(yàn)證密碼字段的復(fù)雜強(qiáng)度原理詳細(xì)講解 原創(chuàng)10. JSP+Servlet實(shí)現(xiàn)文件上傳到服務(wù)器功能
