“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
,这应该足够大了。
有谁能告诉我下一步该怎么做吗?
看来莫迪的失败可能是累积的;然而,通过各种调查,它看起来似乎与新闻部有关。修改PixelFormat
,清除背景,调整原始图像大小,调整OCROrientImage
和OCRStraightenImage
标志都没有效果。
对我有效的是修改水平和垂直的书面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;
让引擎决定它自己的语言