Я построил некоторый код с OpenCV и Tesseract с целью извлечения текста из изображения. Перед фактическим извлечением я нахожу контуры областей, которые содержат текст и go через них, в l oop ниже.
for contour in contours:
x, y, w, h = cv2.boundingRect(contour)
image_segment = image[y:y + h, x:x + w]
cv2.imshow('Image Segment', image_segment)
cv2.waitKey(0)
print(pytesseract.image_to_string(image_segment, lang='por'))
Во время выполнения некоторых тестов я понял, что у Tesseract возникли проблемы с несколькими указанными c сегментами. И в процессе выяснения того, что было не так, я сохранил проблемные c сегменты (щелкнув правой кнопкой мыши на окне, отображающем их), чтобы выполнить некоторые оценки.
Через некоторое время я закончил случайно заметив, что, если я запускаю сегменты, которые я сохранил на своем P C через Tesseract, некоторые результаты, которые были неверны в l oop, оказываются правильными, даже если изображение точно такое же, в хотя бы визуально.
Следовательно, я полагаю, что в сегменте должна быть какая-то скрытая информация, которая должна мешать Тессеракту, и эта информация каким-то образом исключается, когда я выполняю ручное сохранение.
Итак, вопрос в том, что именно? Какую дополнительную обработку изображения мне нужно сделать?
Дополнительная информация:
Исходное изображение (из которого я пытаюсь извлечь текст) представляет собой файл JPEG. Тот, который я сохраняю на своем компьютере вручную (и который позволяет Tesseract получить правильный результат), оказывается файлом PNG.
Изображение «сканируется» с помощью l oop в оттенках серого.
Я бы опубликовал изображение, о котором идет речь, но оно содержит конфиденциальные данные. Я могу попытаться найти нечувствительный пример, если это окажется необходимым.
Обновление:
Я сохранил тот же сегмент в файл PNG с помощью кода и встроенный скрипт Python, чтобы проверить, совпадают ли два изображения. PNG, который я сохранил вручную, несколько отличается от PNG, который я сохранил с помощью кода. Так что в изображении определенно есть некоторая информация, которая повышает точность Тессеракта.