web-dev-qa-db-ja.com

Tesseract 3(OCR)-.NETラッパー

http://code.google.com/p/tesseractdotnet/

Visual Studio 2010プロジェクトでTesseractを動作させるのに問題があります。コンソールとwinformsを試しましたが、どちらも同じ結果になります。 _VS2010_で動作していると主張する他の誰かによってdllに遭遇しました:

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

上記のウェブサイトの投稿64に添付されている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フォルダーの場所が末尾のスラッシュで終わっていることを確認するためのいくつかの提案を見ました。何か案は?

21
Jpin

問題を引き起こしているのは、tessdataフォルダーの内容であると思われます。最初のリンクからtessdataフォルダーを取得し、すべてが機能するようになりました。

7
Jpin

Tesseractエンジン3を使用してプロジェクトを完了しました。エンジンにバグがあるため、修正する必要があります。 「AccessViolationError」を削除したのは、「\ tessdata」を実際のtessdataディレクトリ文字列に追加することです。理由はわかりませんが、エンジンはTessdataパスの最も内側のディレクトリを切り捨てているようです。

.net framework 4で動作するフルOCRパッケージ(Dlls + Tessdata(english))を作成しました。

2
Umar Hassan

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

0
Nikita

誰かが同じ問題を抱えており、末尾のスラッシュに関するアドバイスが機能しない場合は、試してみてください... 2つの最後のスラッシュ!シリアスリー。わたしにはできる。

if (processor.Init(@".\tessdata\\", "eng", (int)eOcrEngineMode.OEM_DEFAULT))
0
G. Goncharov