言語処理付き1行認識クラスの初期化
言語処理付き1行認識クラスのインスタンスを初期化して1行認識の準備をする。基本的な初期化の手続きは1行認識クラスと全く1緒である。通常の初期化後にmsetlangdictを実行する。NGKOCR Ver 1.0で標準で提供されている言語辞書は"jcongram.ngm"である。
言語辞書の設定
void msetlangdict(char* ngramfilename);
ngramfilenameとして、NULLを指定すると、以後の認識で言語辞書が外される。また、ngramfilenameとして別の言語辞書を指定すると、以前の言語辞書は外されて、以後の認識では、新しい言語辞書が参照される。
この関数は、何度呼んでも構わない。
例
#include "ocrdef.h"
#include "ocrco.h"
#include "cjocrstock.h"
#include "cjocrdict98.h"
#include "cjocrpat98.h"
#include "cjocrrec98.h"
#include "cjocrline98.h"
#include "cjocrlang.h"
#include "errcode.h"
...
....
// パターンクラス作成
CJocrPattern* pattern = new CJocrPattern;
int ret = pattern->mallocmemory();
if(ret < 0) {
printf("パターンクラスメモリ確保エラー");
delete pattern;
exit(1);
}
// 辞書クラス作成
CJocrDict* pjocrdict = new CJocrDict;
pjocrdict->msetsystemdict("c:\\dic\\feature\\system");
pjocrdict->msetsystemdict("c:\\dic\\feature\\systemfat");
pjocrdict->msetuserdict("c:\\dic\\feature\\user");
ret = pjocrdict->mloaddict();
if(ret < 0) {
printf("エラー");
delete pjocrdict;
delete pattern;
exit(1);
}
// 1文字認識クラス作成
CJocrRecognize* precognize = new CJocrRecognize;
precognize->msetpatter(pattern);
precognize->msetdict(pjocrdict);
// 1文字認識クラスの初期化
ret = precognize->mallocmemory();
if(ret < 0) {
printf("エラー");
delete precognize;
delete pjocrdict;
delete pattern;
exit(1);
}
// 言語処理付き1行認識クラス作成
CJocrLang* pjocrlang = new CJocrLang;
pjocrlang->msetpatter(pattern);
pjocrlang->msetrecognize(precognize);
pjocrlang->msetlangdict("c:\\dic\\feature\\jcongram.ngm");
....
...
..
delete pjocrlang;
delete precognize;
delete pjocrdict;
delete pattern;