Member 14988829 Ответов: 2

Не удается конвертировать из 'системы.чертеж.растровое изображение' на 'Тессеракт.Пикс'


Привет

Я пытаюсь получить текст из изображения с помощью Tesseract с C# ниже приведен код:

Bitmap img = (Bitmap)Bitmap.FromFile("/Users/prkotagi/Desktop/Test.bmp"); 
TesseractEngine engine = new TesseractEngine("/Volumes/Macintosh HD - Data/Csharpcode/eng.traineddata","eng",EngineMode.Default);
Page page = engine.Process(img, PageSegMode.Auto);
string result = page.GetText();
Console.WriteLine(result);


Но мы гертинг ошибка как
cannot convert from 'system.drawing.bitmap' to 'tesseract.pix'
на линии
Page page = engine.Process(img, PageSegMode.Auto);


Что я уже пробовал:

Я пробовал с OCR ничего не работает. Пожалуйста, дайте мне знать решение для вышеперечисленного.

Richard MacCutchan

Это просто означает, что Process метод ожидает а tesseract.pix объект не является растровым изображением.

2 Ответов

Рейтинг:
2

OriginalGriff

Вам нужно преобразовать его в формат, понятный движку. Ознакомиться с тех. первом примере здесь: Тессерактенгин.Примеры Кода Процесса C# (CSharp) - HotExamples[^]


Рейтинг:
1

Sandeep Mewara

Цитата:
не удается конвертировать из 'системы.чертеж.растровое изображение' на 'Тессеракт.Пикс'

Основываясь на ошибке, кажется Process() ожидает параметр типа tesseract.pix и не bitmap.

Верьте, что есть что-то вроде PixConverter[^] это можно использовать:
using (var img = PixConverter.ToPix(imgsource))
{
    using (var page = engine.Process(img))
    {
        ocrtext = page.GetText();
    }
}

Пример ссылки: Тессеракт-образцы/программы.в CS [^]

Кроме того, глядя на предоставленный демонстрационный образец, вам кажется, что вам нужно сделать следующее:
var tesseractPath = solutionDirectory + @"\tesseract-master.1153";
var imageFile = File.ReadAllBytes(fileName);
var text = ParseText(tesseractPath, imageFile, "eng", "fra");

//results in
Console.WriteLine("File:" + fileName + "\n" + text + "\n");

Ссылка: Гитхаб - doxakis/как-пользоваться-Тессеракт-OCR-4.0-с-используется CSharp: как использовать Тессеракт ОРЗ 4.0 с#[^]


Member 14988829

Привет,
Я попробовал ниже одного

использование (var engine = new TesseractEngine(@"./tessdata", "eng", EngineMode.По умолчанию))
{
используя (ВАР ИМГ = Пикс.LoadFromFile("/пользователи/prkotagi/рабочий стол/тест.БМП"))
{
использование (var page = engine.Процесс(img))
{
var text = страница.С текстом();

Но я получаю ниже ошибки.

Система.DllNotFoundException: не удалось найти библиотеку "liblept1753.so" для платформы x64.

Sandeep Mewara

https://github.com/charlesw/tesseract/issues/290