うにてぃブログ

主にUnityとC#に関する記事を書いていきます

【Unity】tesseract-unity の学習データを変更する

GitHub - Neelarghya/tesseract-unity: Standalone OCR plugin for Unity using Tesseract

上記のライブラリにはデフォルトで英語の学習データ (eng.traineddata)しか入っていないため、日本語データを読み込んだとしても正しく解析ができない

f:id:hacchi_man:20220116232856p:plain

そのため、別の言語を利用する際には対応した学習データが必要になる

学習データの追加

学習データのDLは こちら から行える

DLした後、hoge.traineddataAssets/StreamingAssets/tessdata/ に追加する

読み込み学習データの変更

Assets/Scripts/TesseractDriver.cs で eng を読み込みようになっているため

ここを読み込みたいファイル名に合わせて変更する

    public void OcrSetup(UnityAction onSetupComplete)
    {
        _tesseract = new TesseractWrapper();

#if UNITY_EDITOR
        string datapath = Path.Combine(Application.streamingAssetsPath, "tessdata");
#elif UNITY_ANDROID
        string datapath = Application.persistentDataPath + "/tessdata/";
#else
        string datapath = Path.Combine(Application.streamingAssetsPath, "tessdata");
#endif

--        if (_tesseract.Init("eng", datapath))
++        if (_tesseract.Init("hoge", datapath))

再度読み込んでみる

日本語の学習データを利用しているので正しく画像の解析ができた

f:id:hacchi_man:20220116232801p:plain