OCR с интерфейсом Tesseract
Как вы OCR tiff файл с использованием интерфейса Tesseract в С#?
В настоящее время я знаю только, как это сделать, используя исполняемый файл.
Ответы
Ответ 1
Исходный код, по-видимому, ориентирован на исполняемый файл, возможно, вам придется немного переделать файлы, чтобы вместо этого он был создан как DLL. У меня нет большого опыта работы с Visual С++, но я думаю, что это не должно быть слишком сложно с некоторыми исследованиями. Я предполагаю, что кто-то, возможно, уже сделал библиотечную версию, вы должны попробовать Google.
Как только у вас есть tesseract-ocr-код в DLL файле, вы можете импортировать файл в свой проект С# через Visual Studio и создать его классы-оболочки и делать все необходимые для вас функции маршалинга. Если вы не можете импортировать, то DllImport позволит вам вызывать функции из DLL из кода С#.
Затем вы можете взглянуть на исходный исполняемый файл, чтобы найти подсказки о том, какие функции вызывать для правильного отображения OCR изображения.
Ответ 2
Взгляните на tessnet
Ответ 3
Программа С# запускает tesseract.exe, а затем считывает выходной файл tesseract.exe.
Process process = Process.Start("tesseract.exe", "out");
process.WaitForExit();
if (process.ExitCode == 0)
{
string content = File.ReadAllText("out.txt");
}
Ответ 4
Сегодня я обнаружил, что EMGU теперь включает обертку Tesseract. Хотя количество неуправляемых DLL файлов opencv lib может показаться немного сложным, ничего, что быстрая копия в выходной каталог не вылечилась. Оттуда фактический процесс OCR прост, как три строки:
Tesseract ocr = new Tesseract(Path.Combine(Environment.CurrentDirectory, "tessdata"), "eng", Tesseract.OcrEngineMode.OEM_TESSERACT_ONLY);
this.ocr.Recognize(clip);
optOCR.Text = this.ocr.GetText();
"robomatics" собрал очень приятное видео youtube, которое демонстрирует простое, но эффективное решение.
Ответ 5
Отказ от ответственности: я работаю для Atalasoft
Наш Модуль OCR поддерживает Tesseract, и если это окажется недостаточно хорошим, вы можете перейти на лучший движок и просто изменить одну строку кода (мы предоставляем общий интерфейс для нескольких движков OCR).