2011-07-14 16 views
6

MODIが正常に動作するように苦労しています。 。私はこれを実行すると、ここで私が使用しようとしているコードがMODIのためのWikipediaのエントリで与えVBから適応(だC#でMODI 2003を使用しているときに "OCR running error"

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のquestionを見つけましたが、問題の一つが十分に大きく十分でなければなりません1700 X 2338、あります原因のために。

誰もこれに次に行く場所についてアドバイスをしていますか?

答えて

0

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

1 - これら二つのフォーマット System.Drawing.Imaging.PixelFormat.Format24bppRgb または System.Drawing.Imaging.PixelFormat.Format16bppRgb555

のいずれかであなたのビットマップを作成します。 2 - ビットマップの背景を白くクリアし、テキストの「絵」を途中までコピーして、MODI.Document.Createを実行します(......

4

MODIの失敗は、さまざまな調査を通じて、DPIに結びついているかのように見えます。の変更背景をクリアし、生の画像サイズを調整し、OCROrientImageOCRStraightenImageフラグを調整しても効果がありませんでした。

BitmapのDPIを水平方向と垂直方向の両方で300に変更していました。Bitmapのデフォルト値は96で、動作した特定のイメージで作業してみましたが、DPIは300に設定されていました。

-2
はこれにあなたのコードを変更

doc1.OCR; 

そしてエンジンは、独自の言語を決めましょう。

+0

これはあなたが10よりも小さいフォントサイズでcharachtersを持って悪い言語のエラーが発生します。.. –

0

コード上の問題ではありません。ただ、ここではOffice 2003のサービスパック3を更新リンクは https://www.microsoft.com/en-us/download/details.aspx?id=8

それが正常に動作します....

+0

代わりの投稿リンクあり答えとして、この解答が現在の問題を修正する際のOPにどのように役立つか説明にテキストを追加してください。 –

関連する問題