
先來說一下遇到的問題
代碼如果直接運行可能會報以下錯誤:
raise TesseractNotFoundError()
pytesseract.pytesseract.TesseractNotFoundError: tesseract is not installed or it's not in your PATH. See README file for more information.
這時候需要修改相應檔案夾路徑的名稱
python的安裝路徑下的pytesseract
我是用anaconda創建的虛擬環境中,所以我的路徑是:
D:\Anaconda\envs\pytorch\Lib\site-packages\pytesseract

找到安裝的檔案地址后,用文本編譯器打開pytesseract.py檔案,修改
將原來的 tesseract_cmd = 'tesseract' 改為OCR的安裝路徑下的tessract.exe
但是你連OCR都沒有,肯定是找不到tessract.exe的,所以這時候需要寫安裝OCR
tessract.exe檔案安裝包下載,可自行在網上搜索這個檔案安裝

默認安裝在C:\Program Files (x86)\Tesseract-OCR下面
這時候我們找到完整的路徑

C:\Program Files (x86)\Tesseract-OCR\tesseract.exe
復制到之前說的,用文本編譯器打開pytesseract.py檔案里面

修改為

結果還是報錯:
pytesseract.pytesseract.TesseractNotFoundError: C:\Program Files (x86)\Tesseract-OCR esseract.exe is not installed or it's not in your PATH. See README file for more information.
這時候查閱相關資料才發現,Tesseract-OCR需要和工程 安裝到一個磁盤磁區下面
于是我將安裝的Tesseract-OCR 檔案剪切到了D盤

再次復制路徑
D:\Tesseract-OCR\tesseract.exe
替換后的pytesseract.py檔案里面檔案內容

r是轉義字符不能丟,下面就不會報錯了,
完美運行

不過有時候結果并不是特別準確
還是直接上代碼把,
import cv2 as cv
import numpy as np
from PIL import Image
import pytesseract as tess
src = cv.imread('13.jpg') # 匯入圖片
cv.imshow('13.jpg',src) #顯示原圖
def recognize_text(image): # 自定義驗證碼檢測函式
gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY) #灰度化
ret, binary = cv.threshold(gray, 0, 255, cv.THRESH_BINARY | cv.THRESH_OTSU) #二值化
kernel = cv.getStructuringElement(cv.MORPH_RECT, (3, 3)) #定義核方框
result = cv.morphologyEx(binary, cv.MORPH_OPEN, kernel) #形態學處理
cv.imshow("binary_image",result)
# cv.bitwise_not(result, result) 更改背景色
textImage = Image.fromarray(result) #將array轉至image
text = tess.image_to_string(textImage) #將圖片資訊提取成文本
print("識別結果:%s"%text)
recognize_text(src)
cv.waitKey(0)
記得點贊關注加收藏哦,更新不斷!!!!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/291138.html
標籤:其他
