Невозможно прочитать текст со скриншота из-за цвета фона с помощью PyTesseract - PullRequest
1 голос
/ 08 января 2020

Я пытаюсь извлечь и обнаружить текст с компьютерных / мобильных снимков экрана с помощью pytesseract. Он работает нормально, но в некоторых случаях, как это, текст кнопки не может быть обнаружен из-за зеленого фона.

Исходное изображение

Original Image

Изображение после обнаружения текста

Detected Text

Вот код, который я использую:

d = pytesseract.image_to_data(img, output_type=Output.DICT)# img is an numpy nd array, i.e image read using OpenCV
n_boxes = len(d['level'])
for i in range(n_boxes):
    # eliminating blank characters
    if d['text'][i].strip() == '': continue
    else: print(d['text'][i])
    (x,y,w,h) = (d['left'][i], d['top'][i], d['width'][i], d['height'][i])
    cv2.rectangle(img, (x,y), (x+w, y+h), (0, 255, 0), 2)

plot_image(img)

1 Ответ

1 голос
/ 08 января 2020

Попробуйте преобразовать изображение в двоичное изображение, чтобы оно стало черно-белым. Бинаризация / пороговое изображение - это часто используемый метод обработки изображений для таких случаев использования.

Эти ссылки могут помочь.

1. ImageThresholding-Opencv

2. Адаптивный порог

3. Бинаризация текста

...