【问题标题】:pytesseract can't recognise digits from a image,pytesseract 无法识别图像中的数字,
【发布时间】:2020-11-25 22:25:18
【问题描述】:

我要分析的图像如下:

我正在运行这段代码:

from PIL import Image
import pytesseract

pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract'

my_image = 'C:\\autobot_wwe_supercard\\imagenes\\codigo_arriba.png'
text = pytesseract.image_to_string(Image.open(my_image))

print(text)

给我的结果是:

我已经通过控制台使用 pip install pytesseract 安装了 pytesseract。

【问题讨论】:

  • 你的照片很漂亮很干净。正方体将给出正确的输出。只需尝试反转图像即可通过。

标签: python python-tesseract digits


【解决方案1】:
>>> img = cv2.imread("1299.png")
>>> gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
>>> thresh = cv2.threshold(gray,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)[1]
>>> thresh = 255 - thresh
>>> data = pytesseract.image_to_string(thresh, config='--psm 11 digits')
>>> data
'1299'
>>>

尝试在配置中将数字列入白名单。 pytesseract 有时也能够提取黑色背景上的白色文本。

【讨论】:

    【解决方案2】:

    pytesseract 不是最佳选择。裁剪感兴趣区域时,尝试在文本周围添加一些填充。

    【讨论】:

    • 你会推荐什么而不是 pytesseract?我一直在尝试提取该数字。以及如何放置一些填充?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多