“OCR运行错误”;在c#中使用modi2003时

本文关键字:modi2003 运行 OCR 错误 | 更新日期: 2023-09-27 18:02:02

我今天一直在努力让莫迪正常工作。以下是我试图使用的代码(改编自维基百科中为MODI提供的VB)。

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

现在,我查了那个错误代码,发现了另一个stackoverflow问题,他们发现他们不能在小图像上运行OCR,但是有问题的是1700 x 2338,这应该足够大了。

有谁能告诉我下一步该怎么做吗?

“OCR运行错误”;在c#中使用modi2003时

看来莫迪的失败可能是累积的;然而,通过各种调查,它看起来似乎与新闻部有关。修改PixelFormat,清除背景,调整原始图像大小,调整OCROrientImageOCRStraightenImage标志都没有效果。

对我有效的是修改水平和垂直的书面Bitmap的DPI为300。Bitmap的默认值是96,在使用特定图像时,我注意到DPI设置为300。

我也遇到过类似的问题,当MODI无法对位图进行OCR时,似乎会产生可怕的无益的错误信息。我想到的解决方案是:

1 -以这两种格式之一创建您的位图System.Drawing.Imaging.PixelFormat.Format24bppRgb或System.Drawing.Imaging.PixelFormat.Format16bppRgb555

2 -清除位图的背景为白色,然后复制你的文字"picture"到中间,然后做mod . document . create (......

这不是代码的问题。只需更新office2003服务包3。这是链接https://www.microsoft.com/en-us/download/details.aspx?id=8

可以正常工作....

修改代码:

doc1.OCR;

让引擎决定它自己的语言