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フォルダーの場所が末尾のスラッシュで終わっていることを確認するためのいくつかの提案を見ました。何か案は?
問題を引き起こしているのは、tessdataフォルダーの内容であると思われます。最初のリンクからtessdataフォルダーを取得し、すべてが機能するようになりました。
Tesseractエンジン3を使用してプロジェクトを完了しました。エンジンにバグがあるため、修正する必要があります。 「AccessViolationError」を削除したのは、「\ tessdata」を実際のtessdataディレクトリ文字列に追加することです。理由はわかりませんが、エンジンはTessdataパスの最も内側のディレクトリを切り捨てているようです。
.net framework 4で動作するフルOCRパッケージ(Dlls + Tessdata(english))を作成しました。
誰かが同じ問題を抱えており、末尾のスラッシュに関するアドバイスが機能しない場合は、試してみてください... 2つの最後のスラッシュ!シリアスリー。わたしにはできる。
if (processor.Init(@".\tessdata\\", "eng", (int)eOcrEngineMode.OEM_DEFAULT))