如何使用 Tesseract 识别数字时钟值?

How to recognize digital clock values with Tesseract?

我有 3 张数字时钟的图片:

任务:使用 pytesseract.

以某种方式识别这些照片中的数字

我已经按常规方法尝试过了,但 Tesseract 无法确定任何东西。

编辑:改进了预处理以正确检测两个新的输入示例:

import cv2
import pytesseract


def detect_7_segments(image):
    config = '--psm 6 -c tessedit_char_whitelist="0123456789 "'
    return pytesseract.image_to_string(image, lang='lets', config=config)


for img_file in ['q0Y40.png', '9dgOm.png', 'XQAfP.png', 'k7BmR.png']:
    img = cv2.imread(img_file, cv2.IMREAD_GRAYSCALE)
    img = cv2.blur(img, (5, 5))
    img = cv2.threshold(img, 64, 255, cv2.THRESH_BINARY)[1]
    print(img_file, detect_7_segments(img).replace('\f', '').replace('\n', ''))
    # q0Y40.png 0
    # 9dgOm.png 
    # XQAfP.png 67
    # k7BmR.png 85

检查LetsGoDigital字体,cf。 , and 了解更多详情。

import cv2
import pytesseract


def detect_7_segments(image):
    return pytesseract.image_to_string(image, lang='lets', config='--psm 6')


for img_file in ['XQAfP.png', 'k7BmR.png']:
    img = cv2.imread(img_file, cv2.IMREAD_GRAYSCALE)
    print(img_file, detect_7_segments(img).replace('\f', ''))
    # XQAfP.png 67
    #
    # k7BmR.png 85
    #
----------------------------------------
System information
----------------------------------------
Platform:      Windows-10-10.0.19041-SP0
Python:        3.9.1
PyCharm:       2021.1.2
OpenCV:        4.5.2
pytesseract:   5.0.0-alpha.20201127
----------------------------------------