Tesseract OCR - определение строк длиной меньше 3 (как я понимаю они улетают в шум, но так ли это?)

Уже который день мучаюсь с вопросом, как же вытащить символы и слова длиной меньше 3 из изображения?

Вот примеры изображений с которыми всё отлично распознается: Получается Получается

А вот с этими изображениями нет:

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

Мой код:

public class OcrService
{
    private Tesseract.TesseractEngine _tesseractEngine { get; set; }
    public OcrService(string language = "rus+eng")
    {
        string tessdataPath = Path.Combine(Environment.CurrentDirectory, "tessdata");
        _tesseractEngine = new TesseractEngine(tessdataPath, language, engineMode.Default, "--psm 8");
    }

    public string GetAllTextFromImage(string path, Rect? region = null)
    {
        Pix pix = Pix.LoadFromFile(path);
        Tesseract.Page page;
        if (region != null)
            page = this._tesseractEngine.Process(pix, region.Value, null);
        else
            page = this._tesseractEngine.Process(pix);
        string str = page.GetText();
        pix.Dispose();
        return str;
    }

Подскажите, может мне что-то необходимо почитать, изучить, попробовать? Куда копать и где рыть, не пойму. Попробовал использовать tesseract 3.0, всё точно также. Заранее спасибо за содействие :)


Ответы (1 шт):

Автор решения: Swift - Friday Pie

Можно установить сегментацию в один символ, setPageSegMode(TessBaseAPI.PSM_SINGLE_CHAR); но возможно это следует делать как fallback, потому как это может привести к разделению строки на несколько

→ Ссылка