2012-04-08 17 views
20

http://code.google.com/p/tesseractdotnet/たTesseract 3(OCR) - .NETラッパー

私はたTesseractは私のVisual Studio 2010のプロジェクトで動作するようになって問題が発生しています。私はコンソールとwinformsを試して、両方が同じ結果を持っています。

http://code.google.com/p/tesseractdotnet/issues/detail?id=1

は、私は上記のウェブサイトから64を投稿する添付で見つけることができたDLLへの参照を追加してい:私はそれがVS2010で働いていると主張し、他の誰かによってDLLに遭遇してきました。私がプロジェクトをビルドするたびに、保護されたメモリを読み書きしようとしたことを示すAccessViolationExceptionが得られます。

public void StartOCR() 
{ 
    const string language = "eng"; 
    const string TessractData = @"C:\Users\Joe\Desktop\tessdata\"; 

    using (TesseractProcessor processor = new TesseractProcessor()) 
    { 
     using (Bitmap bmp = Bitmap.FromFile(fileName) as Bitmap) 
     { 
      if (processor.Init(TessractData, language, (int)eOcrEngineMode.OEM_DEFAULT)) 
      { 
       string text = processor.Recognize(bmp); 
      } 
     } 
    } 
} 

アクセス違反例外は常にif (processor.Init(TessractData, language, (int)eOcrEngineMode.OEM_DEFAULT))を指します。ソリューション・プラットフォームが構成マネージャーでx86に設定されていること、およびtessdataフォルダーの場所が末尾にスラッシュで終わっていることを確認するための提案があります。何か案は?

+1

あなたは完全実装をご存知ですか?私はこれを設定する方法について矛盾する指示を読んでいると思う。 – Roger

+0

クレジットを取ることはできませんが、これは私にとってはうまくいきました:tessdataフォルダの 'eng.traineddata'を http://code.google.com/p/tesseract-ocr/downloads/detail?name=eng.traineddataに置き換えてください。 gz – Alex

答えて

7

を作品だけで作られた完全なOCRパッケージ(DLLの+ Tessdata(英語))問題を引き起こしていたtessdataフォルダの内容であるように思われました。最初のリンクからtessdataフォルダを取得し、すべてが動作しています。

2

私はちょうどtesseractエンジン3でプロジェクトを完了しました。私は、エンジンにバグがあり、修正が必要だと思います。 "AccessViolationError"を削除したのは、実際のtessdataディレクトリの文字列に "\ tessdata"を追加することです。なぜか分かりませんが、エンジンはTessdataパスの最も内側のディレクトリを切り捨てているようです。

の.NET Frameworkで4

+0

本当ですか!フォルダは "e:¥tessdata"にあり、変数の定義は 'const string tessractData = @" e:\ tessdata \ tessdata ";' –

0

誰かが同じ問題を抱えており、後続のスラッシュのアドバイスがうまくいかない場合は、試してみてください... TWO ending slashes! Seriosly。わたしにはできる。

0

あなたの問題は安定性の問題hereと関連しているようです。公式siteには、以前の安定版リリース2.4.1を使用することの推奨があります。あなたはnuget.orgからパッケージマネージャコマンド経由でインストールすることができます:Install-Package Tesseract -Version 2.4.1