C#にてOCRの機能を実現させようとしてtesseract-OCRに取り組んでいます。
OCRの組み込みは下記ページを参照に一応動作するようになりました。
http://shirakamisauto.hatenablog.com/entry/2016/01/28/121402
ただ、文字の認識率がまだまだなので下記ページを参照に文字認識のデータである”traineddata”を作成しました。
http://hadashi-gensan.hatenablog.com/entry/2014/01/15/135316
ここで作成したデータは認識できない文字をいくつか学習させたものでオリジナルの”traineddata”と置き換えるとたしかに認識してくれます。
ただ、あたりまえなのですがこの新しい”traineddata”に入っていない文字は認識してくれません。そこで従来の”traineddata”に新しく学習させたデータを追加して一つの”traineddata”としたいのです。
ネットを色々調べていたら下記のような記事が見つかりました。
====ここから引用
生成されたファイルがトレーニングデータとなる。jpn.traineddata は元々存在した jpn.traineddata を上書きしないよう jpn1.traineddata という名前に変更して、tessdata フォルダに置く。
プログラムから使う場合、以下のようにする。ちなみに Init メソッドの最初の引数は tessdata フォルダを指すが、tesseract-ocr をインストールしたことによりわざわざ指定する必要がなくなったため、NULLにしてある。
tesseract::TessBaseAPI tess;
tess.Init(NULL, "jpn1+jpn");
http://freed411.doorblog.jp/archives/cat_1270225.html
=====ここまで引用
このような方法でやれば両方の”traineddata”を参照できるらしい(まだ自分では確認はできていない)ですけど、この方法ですと学習を重ねていくとファイルが次々と増えていきます。
そこでこの”traineddata”を一つのファイルにまとめる方法をご存じの方はぜひご教授をお願いします。
あなたの回答
tips
プレビュー