8

python-tesseract ラッパーを使用していくつかの Tesseract パラメータを設定しようとしていますが、Init Onlyパラメータの場合は設定できません。

私は Tesseract のドキュメントを読んできましたが、これらを設定するには Init() を使用する必要があるようです。これらは setVariable ドキュメントがそれについて述べていることです:

init 以外の変数に対してのみ機能します * (init 変数は Init() に渡す必要があります)。

したがって、Init() 関数には次のシグネチャがあります。

const char *    datapath,
const char *    language,
OcrEngineMode   oem,
char **     configs,
int     configs_size,
const GenericVector< STRING > *     vars_vec,
const GenericVector< STRING > *     vars_values,
bool    set_only_non_debug_params

私のコードは次のとおりです。

import tesseract

configVec =     ['user_words_suffix',   'load_system_dawg',     'load_freq_dawg']
configValues =  ['brands',              '0',                    '0']

api = tesseract.TessBaseAPI()
api.Init(".","eng",tesseract.OEM_TESSERACT_ONLY, None, 0, configVec, configValues, False)
api.SetPageSegMode(tesseract.PSM_AUTO_OSD)
api.SetVariable("tessedit_char_whitelist", "€$0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz,.\"-/+%")

問題は、次のエラーが表示されることです。

NotImplementedError: Wrong number or type of arguments for overloaded function 'TessBaseAPI_Init'.
  Possible C/C++ prototypes are:
    tesseract::TessBaseAPI::Init(char const *,char const *,tesseract::OcrEngineMode,char **,int,GenericVector< STRING > const *,GenericVector< STRING > const *,bool)

そして、問題はこれらの GenericVectors に関連しています。代わりにこの行を使用する場合:

api.Init(".","eng",tesseract.OEM_TESSERACT_ONLY, None, 0, None, None, False)

できます。したがって、問題はこれらの GenericVectors です。正しいパラメータを Init() に渡すにはどうすればよいですか?

コードで初期化のみのパラメーターを設定する他の方法はありますか? これらのパラメーターを使用して、コードから構成ファイルをロードできますか?

お時間をいただきありがとうございます。

4

1 に答える 1