Pytesseract 无法识别图像中的简单文本
Pytesseract doesnt recognize simple text in image
我想识别这样的图像:
我正在使用以下配置:
config="--psm 6 --oem 3 -c tessedit_char_whitelist=0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ,."
但是当我尝试转换它时,我得到以下信息:
1581
1
W
我认为图像非常清楚地显示了所写内容,并认为 pytesseract 存在问题。你能帮忙吗?
在执行 OCR 之前预处理图像以获得二值图像似乎可行。您也可以尝试调整图像大小,以便看到更多细节
结果
158.1
1
IT
import cv2
import pytesseract
pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files\Tesseract-OCR\tesseract.exe"
# Grayscale and Otsu's threshold
image = cv2.imread('1.png')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY + 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()
我想识别这样的图像:
我正在使用以下配置:
config="--psm 6 --oem 3 -c tessedit_char_whitelist=0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ,."
但是当我尝试转换它时,我得到以下信息:
1581
1
W
我认为图像非常清楚地显示了所写内容,并认为 pytesseract 存在问题。你能帮忙吗?
在执行 OCR 之前预处理图像以获得二值图像似乎可行。您也可以尝试调整图像大小,以便看到更多细节
结果
158.1
1
IT
import cv2
import pytesseract
pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files\Tesseract-OCR\tesseract.exe"
# Grayscale and Otsu's threshold
image = cv2.imread('1.png')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY + 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()