Предобработка изображений с CV очень важна.
Есть много разных фокусов, вот например
https://stackoverflow.com/questions/39233823/openc... ну и других много разных.
Вот здесь пишут что качество распознавания зависит от ширины буквы в пикселях:
https://groups.google.com/forum/#!msg/tesseract-oc...
Это к вопросу о дпи.
3. тесеракту можно передавать его тессерактовы параметры, например:
conf = u"--psm 11"
text = TS.image_to_string(Image.open('1111.jpg'), config=conf)
psm - Режимы сегментации страницы:
0 Только ориентация и обнаружение скриптом (OSD).
1 Автоматическая сегментация страницы с OSD.
2 Автоматическая сегментация страницы но без OSD или OCR.
3 Полностью автоматическая сегментация страницы, но без OSD. (По умолчанию)
4 Предполагается единичная колонка текста переменной длины.
5 Предполагается единый унифицированный блок вертикально выравненного текста.
6 Предполагается единый унифицированный блок текста.
7 Обрабатывать изображение как единичную текстовую строку.
8 Обрабатывать изображение как единичное слово.
9 Обрабатывать изображение как единичное слово в круге.
10 Обрабатывать изображение как единичный символ.
11 Разреженный текст. Найти столько текста, сколько возможно без особого порядка.
12 Разреженный текст с OSD.
13 Сырая строка. Обрабатывать изображение как единичную текстовую строку, обход специфичных для Tesseract хаков.
Идеально точного результата не будет никогда, только больше ошибок или меньше ошибок.