11

私は Tesseract の Java ラッパーである tess4j を使用しています。通常のTesseractもインストールしています。tess4j がどのように機能するのか正確にはわかりませんが、tessdata フォルダーが付属しているので、そこに言語データ ファイルを配置すると推測できます。ただし、tess4j は、言語データ ファイルが「実際の」tessdata フォルダー (tess4j ではなく、tesseract に付属するフォルダー) にある場合にのみ機能します。そのフォルダーを削除すると、次のエラー メッセージが表示されます。

Error opening data file C:\Program Files\Tesseract-OCR\tessdata/jpn.trained
data
Please make sure the TESSDATA_PREFIX environment variable is set to the par
ent directory of your "tessdata" directory.
Failed loading language 'jpn'
Tesseract couldn't load any languages!
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x631259dc, pid=5108, tid=
10148
#
# JRE version: 7.0_06-b24
# Java VM: Java HotSpot(TM) Client VM (23.2-b09 mixed mode, sharing windows
-x86 )
# Problematic frame:
# C  [libtesseract302.dll+0x59dc]  STRING::strdup+0x467c
#
# Failed to write core dump. Minidumps are not enabled by default on client
 versions of Windows
#
# An error report file with more information is saved as:
# D:\School\Programs\OCRTest\v1.0.0\hs_err_pid5108.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.sun.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

これは、tess4j を使用するために Tesseract をインストールする必要があるということですか? なんで?または、私のtess4j tessdataフォルダーが間違った場所にある可能性があります(現在、.javaファイルがあり、tess4j jarはクラスパスを設定したlibフォルダーにあります)。

4

4 に答える 4

4

TESSDATA_PREFIX environment variableTess4j の tessdata フォルダーを指してみましょう。

通常、システムへのインストール中にこれらの変数を設定しますが、ここで解決策を見つけることができるかもしれません: How do I set environment variables from Java?

tessdata.dllはこの環境変数に依存するため、アプリを実行するシステムで実行する必要があります。

于 2013-08-07T08:45:44.660 に答える
3

TESSDATA_PREFIXinit環境変数が定義されている場合、またはによって設定されているものを含め、すべてを上書きしますsetDatapath。ただし、近い将来、アプリケーションがそのtessdataフォルダーの場所を指定できるようになると、これが変わる可能性があります。

http://code.google.com/p/tesseract-ocr/issues/detail?id=938
https://groups.google.com/forum/#!topic/tesseract-ocr/bkJwI8WmxSw

于 2013-08-07T23:20:43.943 に答える
2

tessdataメインのプロジェクト フォルダーにフォルダーがない可能性があります。このフォルダーには、tesseract でサポートされているすべての言語が含まれています (拡張子が 、、、、、、、のファイルが含まれています) 。ない場合は.traineddata、次の手順に従います。.bigrams.fold.lm.nn.params.size.word-freq

  1. github.com/tesseract-ocr/tessdata からtessdata -master フォルダーをダウンロードします (ダウンロード ZIP ボタンから) 。
  2. ファイルの内容をtessdata-master.zipメイン プロジェクト フォルダーに解凍します。
  3. tessdata-masterに名前を変更tessdata
  4. Java プロジェクトを実行し、動作するかどうかをテストします。少なくともこれは私にとってはうまくいきます。
于 2016-04-26T15:38:48.383 に答える