Pytesseract 无法识别图像中的简单文本
Posted
技术标签:
【中文标题】Pytesseract 无法识别图像中的简单文本【英文标题】:Pytesseract doesnt recognize simple text in image 【发布时间】:2021-11-14 06:40:58 【问题描述】:我想识别这样的图像:
我正在使用以下配置:
config="--psm 6 --oem 3 -c tessedit_char_whitelist=0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ,."
但是当我尝试转换它时,我得到以下信息:
1581
1
W
我认为图像非常清楚地显示了所写的内容,并认为 pytesseract 存在问题。你能帮忙吗?
【问题讨论】:
这也发生在我身上,有一次它给我显示了一颗星星作为一个点,而同一张图像中有这么多星星,不知道怎么回事......但我没有使用任何配置 @GhostOps 是的,但是有了这么干净的图像,这一定是可能的吧? 是的,不知道怎么了.. 【参考方案1】:在执行 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()
【讨论】:
我调整了它的大小,现在它完美无缺以上是关于Pytesseract 无法识别图像中的简单文本的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 pytesseract.image_to_string 从图像中读取文本
使用 PIL 从 url 打开图像文件以使用 pytesseract 进行文本识别
python pytesseract.image_to_string 无法读取图像中的文本