所以我目前正在做一個專案,我使用 pyautogui 和 pytesseract 在我正在使用的視頻游戲模擬器中截取時間,然后嘗試讀取影像并確定我的時間。這是我使用 pyautogui 獲取所需區域的螢屏截圖時的影像:

當我測驗它以確保它正確安裝時,只需使用pytesseract.image_to_string()文本影像即可,但是當我使用游戲中的計時器圖片時,它不會輸出任何內容。這是否與影像質量或 pytesseract 的某些模仿有關?
uj5u.com熱心網友回復:
在使用 Pytesseract 執行 OCR 之前,您需要對影像進行預處理。這是使用 OpenCV 和 Pytesseract OCR 的簡單方法。這個想法是獲得一個處理過的影像,其中要提取的文本是黑色的,背景是白色的。為此,我們可以轉換為
Otsu 獲取二值影像的閾值

Pytesseract OCR 的結果
0’ 12”92
代碼
import cv2
import pytesseract
pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files\Tesseract-OCR\tesseract.exe"
# Grayscale, Gaussian blur, Otsu's threshold
image = cv2.imread('1.png')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
blur = cv2.GaussianBlur(gray, (3,3), 0)
thresh = cv2.threshold(blur, 0, 255, cv2.THRESH_BINARY_INV cv2.THRESH_OTSU)[1]
# Perform text extraction
data = pytesseract.image_to_string(thresh, lang='eng', config='--psm 6')
print(data)
cv2.imshow('thresh', thresh)
cv2.waitKey()
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/472821.html
標籤:Python 图片 图像处理 ocr python-正方体
下一篇:基于影像作為矢量圖形的直方圖
