«Ошибка запуска OCR» при использовании MODI 2003 с C # - PullRequest
6 голосов
/ 15 июля 2011

Я изо всех сил пытался заставить MODI работать должным образом сегодня. Вот код, который я пытаюсь использовать (адаптированный из VB, указанного в записи в Википедии для MODI .

private void button1_Click( object sender, EventArgs e )
{
    string inputFile = @"C:\testImage.bmp";
    textBox1.Text = GetTextFromImage( inputFile );
}

private string GetTextFromImage( string fileName )
{
    string output = "";
    var doc1 = new MODI.Document();
    doc1.Create( fileName );
    doc1.OCR( MiLANGUAGES.miLANG_ENGLISH, false, false );

    for ( int i = 0; i < doc1.Images.Count; i++ )
    {
        output += doc1.Images[i].Layout.Text;
    }

    doc1.Close();
    return output;
}

Когда я выполняю это, я получаю сообщение об ошибке в строке OCR (), говорящее следующее:

System.Runtime.InteropServices.COMException was unhandledMessage=OCR running error Source="" ErrorCode=-959967087

Теперь я посмотрел этот код ошибки и обнаружил еще один стековый поток вопрос , в котором они обнаружили, что не могут запустить OCR на небольших изображениях, но речь идет о 1700 x 2338, который должен быть достаточно большим для причины.

У кого-нибудь есть какие-либо советы о том, куда идти дальше с этим?

Ответы [ 4 ]

4 голосов
/ 20 декабря 2011

Похоже, что сбои MODI могут быть накопительными; однако, благодаря различным исследованиям, похоже, что это может быть связано с ДОИ. Изменение PixelFormat, очистка фона, настройка размера необработанного изображения и настройка флагов OCROrientImage и OCRStraightenImage не дали эффекта.

Для меня сработало изменение DPI для записанного Bitmap для горизонтального и вертикального значений до 300. По умолчанию для Bitmap установлено значение 96, и при работе с конкретным работающим изображением я заметил, что DPI был установлен на 300.

0 голосов
/ 14 февраля 2017

Это не проблема для кода.Просто обновите пакет обновления 3 (SP3) для Office 2003. Вот ссылка https://www.microsoft.com/en-us/download/details.aspx?id=8

Работает нормально ....

0 голосов
/ 03 июня 2012

Измените свой код на это:

doc1.OCR;

И пусть двигатель решит свой собственный язык.

0 голосов
/ 20 июля 2011

У меня были похожие проблемы, и кажется, что сообщение об ошибке ужасно бесполезно, когда MODI не может распознать растровое изображение.Решение, которое я придумал:

1 - Создайте свое растровое изображение в любом из этих двух форматов System.Drawing.Imaging.PixelFormat.Format24bppRgb или System.Drawing.Imaging.PixelFormat.Format16bppRgb555

2 - Очистите фон растрового изображения до белого, а затем скопируйте текстовую «картинку» в середину, а затем выполните MODI.Document.Create (......

...