Текст на картинке .bmp - перевести в string

Задача: RU Текст на картинке .bmp перевести в string

Белый фон - тёмный текст

Какую библиотеку на C# можно использовать для этого ?


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

Автор решения: Blackmeser

Любую OCR. Есть пример с Emgu.CV.OCR/Tesseract Взято отсюда: https://csharp.hotexamples.com/ru/examples/Emgu.CV.OCR/Tesseract/GetCharacters/php-tesseract-getcharacters-method-examples.html

static void Main(string[] args)
{
   var files = Directory.GetFiles(@"d:\raw\classified\");
   //var img = new Image<Rgb, byte>(files[0]);
   var img = new Image<Emgu.CV.Structure.Gray, byte>(@"d:\raw\classified\test.jpg");
   var _ocr = new Tesseract(@"D:\", "eng", OcrEngineMode.TesseractCubeCombined);
   _ocr.SetVariable("tessedit_char_whitelist", "1234567890"); //походу это какой-то фильтр и он может быть необязательным
   _ocr.Recognize(img);
   var result = _ocr.GetCharacters();
}
→ Ссылка
Автор решения: Vipz

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

Ниже ссылка - надо скачать файл rus.traineddata - я разместил на диске C:\ https://github.com/tesseract-ocr/tessdata/blob/master/rus.traineddata

Ну и вот код:

    private string ImgToText(string pathImg)
    {
        var img = new Image<Bgr, byte>(pathImg);
        Tesseract tesseract = new Tesseract(@"C:\", "rus", OcrEngineMode.TesseractLstmCombined);
        tesseract.SetImage(img);
        tesseract.Recognize();
        var result = tesseract.GetUTF8Text();

        tesseract.Dispose();

        return result;
    }
→ Ссылка