私は 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フォルダーにあります)。