Какую библиотеку использовать для извлечения текста из изображений? - PullRequest
7 голосов
/ 28 февраля 2011

Я пишу программу, которая при получении изображения математической задачи низкого уровня (например, 98 * 13) должна быть в состоянии вывести ответ.Цифры будут черными, а фон белым. Не капча, просто изображение математической задачи.

Математические задачи будут иметь только два числа и один оператор, и этот оператор будет только +, -, * или /.

Очевидно, я знаю, как выполнять вычисления;) Я просто не знаю, как получить текст с изображения.

Идеальная бесплатная библиотека ...хотя, если бы мне пришлось писать код самому, я бы, наверное, справился.

Ответы [ 5 ]

4 голосов
/ 28 февраля 2011

Попробуйте этот пост об использовании библиотеки C ++ Google Tessaract OCR в C #

OCR с интерфейсом Tesseract

3 голосов
/ 28 февраля 2017

Для извлечения слов из изображения я использую самый точный OCR-движок с открытым исходным кодом: Tesseract . В наличии здесь или непосредственно в ваших пакетах NuGet.

И это моя функция в C #, которая извлекает слова из изображения, переданного в sourceFilePath. Установите EngineMode в TesseractAndCube; он обнаруживает больше слов, чем другие варианты.

var path = "YourSolutionDirectoryPath";
using (var engine = new TesseractEngine(path + Path.DirectorySeparatorChar + "tessdata", "fra", EngineMode.TesseractAndCube))
{
    using (var img = Pix.LoadFromFile(sourceFilePath))
    {
        using (var page = engine.Process(img))
        {
            var text = page.GetText();
            // text variable contains a string with all words found
        }
    }
}

Надеюсь, это поможет.

2 голосов
/ 28 февраля 2017

Вот несколько полезных примеров кода для C #:

  1. Использование Tesseract : бесплатное приложение OCR с открытым исходным кодом для рабочего стола Windows - современный интерфейс с графическим интерфейсомдля двигателя Tesseract OCR.Приложение также включает поддержку чтения и распознавания PDF-файлов: https://github.com/A9T9/Free-Ocr-Windows-Desktop

  2. Использование Microsoft OCR : бесплатное приложение OCR с открытым исходным кодом для Магазина Windows - современный графический интерфейсинтерфейс для библиотеки Microsoft OCR.Приложение также включает поддержку чтения и распознавания PDF-файлов: https://github.com/A9T9/Free-OCR-Software

2 голосов
/ 19 августа 2016

вы можете использовать Microsoft Office Document Imaging (Interop.MODI.dll) в visaul studio и извлекать текст из фотографий

Document modiDocument = new Document();
modiDocument.Create(filePath);
modiDocument.OCR(MiLANGUAGES.miLANG_ENGLISH);
MODI.Image modiImage = (modiDocument.Images[0] as MODI.Image);
string extractedText = modiImage.Layout.Text;
modiDocument.Close();
return extractedText;
2 голосов
/ 28 февраля 2011

Вам нужно OCR.Есть бесплатная библиотека Тессеракт от Google, но это C-код.Вы можете использовать в проекте C ++ / CLI и получить доступ через .NET.

В этой статье приведена некоторая информация о распознавании чисел (для Судоку, но ваша проблема похожа)

http://sudokugrab.blogspot.com/2009/07/how-does-it-all-work.html

...