Pytesseract无法识别图像中的简单文本。

4

我想要识别这样一张图片:

enter image description here

我正在使用以下配置:

config="--psm 6 --oem 3 -c tessedit_char_whitelist=0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ,."

但是当我试图转换成文本时,得到以下结果:

1581

1

W

我认为这张图片清晰地显示了所写的内容,而且我认为pytesseract存在问题。你能帮忙吗?


也曾经发生过这种情况,有一次在同一张图片中有很多星星的情况下,它把一个星星显示成了一个点,不知道出了什么问题...但我没有使用任何配置。 - Ghost Ops
@GhostOps 是的,但是有这样一个干净的镜像,这一定是可能的,对吧? - Moritz Pfennig
1
是的,不知道出了什么问题... - Ghost Ops
1个回答

1
预处理图像以获得二进制图像,然后执行OCR似乎是可行的。您也可以尝试调整图像大小,以便能够看到更多细节。

enter image description here

结果
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()

我调整了大小,现在它运行得非常流畅。 - Moritz Pfennig

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接