6

今日、MODI をまったく正常に動作させるのに苦労しました。私が使用しようとしているコードは次のとおりです ( 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

さて、そのエラーコードを調べたところ、小さな画像でOCRを実行できないことがわかった別のstackoverflowの質問1700が見つかりましたが、問題はx2338であり、原因に対して十分な大きさである必要があります。

これで次にどこに行くべきかについて誰かアドバイスはありますか?

4

4 に答える 4

4

MODI の失敗は累積する可能性があるようです。ただし、さまざまな調査を通じて、DPI に関連付けられているように見えます。の変更、PixelFormat背景のクリア、生の画像サイズの調整、OCROrientImageおよびOCRStraightenImageフラグの調整は効果がありませんでした。

私にとってうまくいったのはBitmap、水平方向と垂直方向の両方の書き込みの DPI を 300に変更するBitmapことでした。

于 2011-12-19T22:20:12.057 に答える
0

同様の問題があり、MODI がビットマップを OCR できない場合に、非常に役に立たないエラー メッセージが生成されるようです。私が思いついた解決策は次のとおりです。

1 - System.Drawing.Imaging.PixelFormat.Format24bppRgb または System.Drawing.Imaging.PixelFormat.Format16bppRgb555 のいずれかの形式でビットマップを作成します。

2 - ビットマップの背景を白くクリアし、テキスト「画像」をその中央にコピーしてから、MODI.Document.Create (......

于 2011-07-20T15:36:34.210 に答える
-2

コードを次のように変更します。

doc1.OCR;

そして、エンジンに独自の言語を決定させます。

于 2012-06-03T04:07:17.660 に答える