1

こんにちは、Tessnet2 を動作させようとしています。私のコードは

Bitmap image = new Bitmap(@"C:\Users\Eric\Desktop\Text Pictures\Oil0.bmp");

tessnet2.Tesseract ocr = new tessnet2.Tesseract();

ocr.SetVariable("tessedit_char_whitelist", "0123456789"); 

ocr.Init(@"C:\tessdata", "eng", false); 

List<tessnet2.Word> result = ocr.DoOCR(image, Rectangle.Empty); // Error occurs here

foreach (tessnet2.Word word in result)
     Console.WriteLine("{0} : {1}", word.Confidence, word.Text);

実行すると、List result = ocr.DoOCR(image, Rectangle.Empty); で「System.AccessViolationException」というエラーが発生します。

私は.net 3.5を使用していますが、ここで何が問題なのか本当にわかりません。助言がありますか?

4

4 に答える 4

0

1. tessnet2 を使用している場合は、正しい言語ファイルをダウンロードしていることを確認してください。Tesseract 3.01 バージョンの英語データではなく、Tesseract (2.00 以降) の英語データを使用する必要があります。以下のリンクから正しいデータをダウンロードしてください。 https://code.google.com/p/tesseract-ocr/downloads/list

2. tesseract-ocr-setup.exe をインストールした場合、プログラムは常に C:\Program Files\Tesseract-OCR\tessdata の場所にある tessdata ファイルを参照することを意味します。これは、セットアップのインストール時に、環境変数TESSDATA_PREFIXが値 **C で作成されるためです。 \Program Files\Tesseract-OCR** .この問題を解決するには、セットアップをアンインストールして環境変数を削除するか、tessdata ファイルを C:\Program Files\Tesseract-OCR\tessdata の場所に保持します。

于 2015-01-29T06:31:21.417 に答える
0

このエラーが表示されます。ソリューションをクリーンアップして再構築すると、機能します。コードに問題はありません。app.config を確認してください。

于 2015-07-03T05:59:52.170 に答える