Как достать немного видоизмененный текст с картинки

Рейтинг: 0Ответов: 1Опубликовано: 10.08.2023

Всем привет, я хотел узнать о том как можно достать числа с типа таких картинок

введите сюда описание изображения

Я испоьзовал pytesseract, а именно:

import cv2
pytesseract.pytesseract.tesseract_cmd = 'C:\\Program Files\\Tesseract-OCR\\tesseract.exe'



img = cv2.imread('...')

img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)



config = r'--oem 3 --psm 6'



verifcode = pytesseract.image_to_string(img, config = config).replace(" ", "")

print( "\nКод верификации:", verifcode) 

Но он обычно неверно распознает цифры с картинки. Может я делаю что-то не так, или мой код для распознавания можно как то улучшить, либо же есть другие способы, которые помогут распозанать мне такие цифры с изображения. Подскажите пожалуйста.

Ответы

▲ 0Принят

Не пользовался tesseract'ом, но смею предположить, что для более стабильного распознавания следует подавать на вход классификатору изображения, содержащие отсегментированные цифры: попробуйте сначла применить пороговую фильтрацию, а затем проделать морфологические преобразования - эрозия/дилатация - до полного включения всех фрагментов в единую область. Сначала дилатацию, затем эрозию. Далее можно попробовать вызвать bwlabel, и подавать на вход классификатору изображения, содержащие одну цифру.
Возникает правда этическая составляющая вопроса - для чего Вам это нужно?