簡體   English   中英

Python 無法從圖像中讀取文本 [Python OCR with Tesseract]

[英]Python cannot read text from an image [Python OCR with Tesseract]

我在從圖像中准確讀取兩行數字(每行最多包含 3 位數字)時遇到了這個問題。

我的 Python 代碼在從如下圖像中讀取數據時存在很大問題:

在此處輸入圖像描述 在此處輸入圖像描述 在此處輸入圖像描述

大多數時候它只是打印隨機數。 我應該怎么做才能完成這項工作?

這是我的 Python 代碼:

from PIL import ImageGrab, Image
from datetime import datetime
from pytesseract import pytesseract
import numpy as nm


pytesseract.tesseract_cmd = 'F:\\Tesseract\\tesseract'

while True:
    screenshot = ImageGrab.grab(bbox=(515, 940, 560, 990))
    datetime = datetime.now()
    filename = 'pic_{}.{}.png'.format(datetime.strftime('%H%M_%S'), datetime.microsecond / 500000)

    gray = screenshot.convert('L')
    bw = nm.asarray(gray).copy()

    bw[bw < 160] = 0
    bw[bw >= 160] = 255

    convertedScreenshot = Image.fromarray(bw)

    tesseract = pytesseract.image_to_string(convertedScreenshot, config='digits --psm 6')

    convertedScreenshot.save(filename)

    print(tesseract)

圖像必須在黑色背景上有白色文本或在白色背景上有黑色文本。

之后保存圖像也很重要。

Tesseract 在白色背景上有黑色文本的圖像上效果最好。 通過添加以下行,在使用 tesseract 之前反轉圖像:

 convertedScreenshot = 255 - convertedScreenshot

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM