1 回答

TA貢獻1784條經驗 獲得超7個贊
您可以使用 OpenCV 執行一些預處理。這個想法是用 imutils 放大圖像,使用 Otsu 的閾值獲得二值圖像,然后添加輕微的高斯模糊。為了獲得最佳檢測效果,圖像的格式應該是,要檢測的文本為黑色,背景為白色。這是兩張圖片的預處理結果:
之前->
之后
兩個圖像的 Pytesseract 輸出結果是相同的
BigBootyHunter2
代碼
代碼
import cv2
import pytesseract
import imutils
pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files\Tesseract-OCR\tesseract.exe"
image = cv2.imread('1.jpg')
image = imutils.resize(image, width=500)
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)[1]
thresh = cv2.GaussianBlur(thresh, (3,3), 0)
data = pytesseract.image_to_string(thresh,,config='--psm 6')
print(data)
cv2.imshow('thresh', thresh)
cv2.waitKey()
添加回答
舉報