質問: ### 前提・実現したいこと tesseractを使って中国語のocrをしたいと考えています。 中国語のocrをしたい場合学習済みデータを追加する必要があると思います。 その際、学習データの追加方法には2つあって、sudo apt install tesseract-ocr-chi-sim を用いてインストールするか、https://github.com/tesseract-ocr/tessdata/blob/master/chi_sim.traineddata よりインストールする方法があると思います。 sudo apt install よりインストールする方法では正しく中国語データが追加されて無事ocrできました。 しかし、後者の方法で試したところ、何度やってもうまくできません。 後者の方法で試したい理由としては、sudo apt install からインストールされるデータよりも後者の方がocrの精度が高いのではないかと考え、実際に試してみたいと考えているからです。 なにかできない理由をご存じないでしょうか? ### 発生している問題・エラーメッセージ 後者の方法でデータを追加した場合、以下のエラーが発生します。 ``` $ tesseract 0.jpeg output -l chi_sim Error opening data file /usr/share/tesseract-ocr/4.00/tessdata/chi_sim.traineddata Please make sure the TESSDATA_PREFIX environment variable is set to your "tessdata" directory. Failed loading language 'chi_sim' Tesseract couldn't load any languages! Could not initialize tesseract. ``` ### 試したこと 前者の場合でも後者の場合でもともにtesseractの言語データは以下のようになりました。 ``` $ tesseract --list-langs List of available languages (5): chi_sim chi_tra eng jpn osd ``` 言語データは /usr/share/tesseract-ocr/4.00/tessdata/に含まれていて、データを入れる場所の間違いはありません。 今回出てきたエラーは言語データのパスのせいのはずなので、以下の2通りでパスを通して実行を試みましたが、こちらも同様のエラーが出ました。 ``` export TESSDATA_PREFIX=/usr/share/tesseract-ocr/4.00/tessdata/ ``` ``` tesseract 0.jpeg output -l chi_sim --tessdata-dir /usr/share/tesse ract-ocr/4.00/tessdata ``` ### 補足情報(FW/ツールのバージョンなど) ``` $ tesseract --version tesseract 4.0.0-beta.1 leptonica-1.75.3 libgif 5.1.4 : libjpeg 8d (libjpeg-turbo 1.5.2) : libpng 1.6.34 : libtiff 4.0.9 : zlib 1.2.11 : libwebp 0.6.1 : libopenjp2 2.3.0 Found AVX2 Found AVX Found SSE ``` tesseractのバージョンは上の通りで、osはwindows10のwslを使ってubuntuから実行しています。
回答: エラーメッセージを読んでみましょう > > Error opening data file /usr/share/tesseract-ocr/4.00/tessdata/chi_sim.traineddata > > > 「ファイル /usr/share/tesseract-ocr/4.00/tessdata/chi_sim.traineddata を開くのに失敗しました。」 ファイルを開くことが出来なかったのですから、ファイル名やファイルパスに問題があるのだろうと思いましょう。 > > Please make sure the TESSDATA_PREFIX environment variable is set to your "tessdata" directory. > > > 「環境変数 TESSDATA_PREFIX が、あなたの"tessdata"ディレクトリに設定されていることを確認して下さい。」 ファイルを開くことが出来なかった原因が、環境変数 TESSDATA_PREFIX の設定にあるのではないかとの助言です。 質問には『言語データは /usr/share/tesseract-ocr/4.00/tessdata/に含まれていて、データを入れる場所の間違いはありません』と書かれていますが、それなら何故、/usr/share/tesseract-ocr/4.00/tessdata/chi_sim.traineddata を開くことが出来ないのでしょうか? 本当に、/usr/share/tesseract-ocr/4.00/tessdata/chi_sim.traineddataというファイルは存在していますか? ファイルやディレクトリのパーミッションに問題はありませんか? == エラーメッセージから読み取れる状況と、それへの対処・確認方法を書きました。 参考にしてください。