21

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

VisualStudio2010プロジェクトでTesseractを機能させるのに問題があります。私はコンソールとwinformsを試しましたが、どちらも同じ結果になります。私はそれが機能していると主張する他の誰かによってdllに出くわしましたVS2010

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フォルダーの場所が末尾のスラッシュで終了していることを確認するためのいくつかの提案を見てきましたが、役に立ちません。何か案は?

4

4 に答える 4

7

問題の原因はtessdataフォルダーの内容であるように見えました。最初のリンクからtessdataフォルダーを取得し、すべてが機能しています。

于 2012-07-31T15:06:07.557 に答える
2

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

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

于 2012-07-15T17:57:03.810 に答える
0

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

if (processor.Init(@".\tessdata\\", "eng", (int)eOcrEngineMode.OEM_DEFAULT))
于 2014-10-31T15:05:51.550 に答える
0

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

于 2016-02-12T20:36:40.083 に答える