原文鏈接:https://www.bilibili.com/opus/1036675560501149699
我擔心原作者刪除,所以重新拷貝了一遍
1.下載tesseract
鏈接:https://github.com/UB-Mannheim/tesseract/wiki
這里示例安裝最新版本
點擊下載tesseract安裝包
2.安裝tesseract
在安裝時,注意安裝路徑,自定義路徑或者默認路徑都要記錄下路徑,后面有用
安裝路徑
安裝會遇到一個常見的問題:
Download error Status of equ: Send Request Error. Click OK to continue
“
Download error Status of equ: Send Request Error. Click OK to continue
這是因為下載安裝語言包的時候與官網鏈接失敗了,這里暫時不用管,直接點擊確定或者OK即可。
3.語言包安裝
上一章提到會遇到常見的錯誤就是語言包安裝失敗,這里提供一個額外的語言包下載地址,下載好后放到指定文件夾即可。
語言包下載地址:https://github.com/tesseract-ocr/tessdata/releases/tag/4.00
這里雖然是tesseract 4.0版本的語言包,但是根據GitHub的官方說明,一樣完全適用于tesseract 5.0版本,不必擔心。
tesseract 4.0版本的語言包適用于tesseract 5.0版本
下載好語言包后,把語言包內所有文件放到前面記錄的安裝tesseract路徑下tessdata文件夾
前面記錄的安裝tesseract路徑
4.環境變量配置
我的電腦 →屬性→高級系統設置→環境變量
點擊我的電腦–>屬性–>高級設置—>環境變量---->path下面的—>新建—>
變量名:TESSDATA_PREFIX
前面記錄的安裝tesseract路徑
變量值:安裝路徑加上\tessdata
5.在pycharm中安裝pytesseract,并輸入代碼
import pytesseract
from PIL import Image
import openpyxl
import os
設置tesseract可執行文件的路徑 (需要根據實際情況調整路徑)
pytesseract.pytesseract.tesseract_cmd = r’你的安裝路徑’
圖片文件路徑
image_dir = r"你的圖片路徑"
函數:從圖片中提取文本(表格數據)
def extract_table_from_image(image_path):
# 打開圖片
img = Image.open(image_path)
# 使用pytesseract進行OCR識別,獲取文本
text = pytesseract.image_to_string(img, config=‘–psm 6’) # 6表示假設圖片中有結構化的表格
return text
函數:將表格數據保存到xlsx文件
def save_to_xlsx(text_data, output_path):
# 創建新的Excel工作簿
wb = openpyxl.Workbook()
ws = wb.active
# 將文本數據按行寫入Excel,假設每行數據以制表符或空格分隔
for row in text_data.splitlines():ws.append(row.split())# 保存為xlsx文件
wb.save(output_path)
處理多個圖片文件
image_file = os.path.join(image_dir, f"你的圖片文件名")
# 提取圖片中的表格內容
table_text = extract_table_from_image(image_file)
# 將提取的表格數據保存為xlsx文件
output_file = os.path.join(image_dir, f"table.xlsx")
save_to_xlsx(table_text, output_file)
print(f"表格數據已保存到 {output_file}")
即可提取圖片中表格保存到xlsx格式的excel文件中