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, потому как это может привести к разделению строки на несколько

