OpenCV3.2の 64bit環境でのTEXTモジュールでtesseract-ocrが組み込めなくて泣いている人、涙を拭いてください。
できます。
まず tesseract-ocrの準備ですが
これを使います。
説明をよく読んでビルドしても失敗するでしょう。原因はご存じコードページです。
ここに書いておきましたのでコードページを英語に換えてからもう一度説明をよく読んで
ビルドすると成功します。
しかしながら、説明をよく読んでできたバイナリは32ビット版なので、
64bitに変更してコンパイルします。
けど、このバイナリもOpencvでうまくリンクできないでしょう。
デフォルトのVS2015_TesseractソリューションではMTモデルなのでMDモデルに変更しないと
OPENCVでリンクするときにエラーになります。
OPENCVのビルドに関してですが、
CMAKEGUIを開いてコンフィグするところまではいろいろなところで説明されているので省きます。
tesseract-ocr 組み込みのポイントは
Tesseract_IncludeDirで
C:\software\tesswint\tesseract_3.05\api;C:\software\tesswin\tesseract_3.05\ccutil;C:\software\tesswin\tesseract_3.05\api\ccstruct\C:\software\tesswin\tesseract_3.05\ccmaim;C:\software\tesswin\tesseract_3.05\viewer
という感じで上に書いてあるディレクトリを全部指定してあげることです。
そして同様に
Lept_LIBRALYも
C:/software/tesswin/x64/Release/liblept.lib;C:/software/tesswin/x64/Release/giflib.lib;C:/software/tesswin/x64/Release/libjpeg.lib;C:/software/tesswin/x64/Release/libpng.lib;C:/software/tesswin/x64/Release/libtiff.lib;C:/software/tesswin/x64/Release/libwebp.lib;C:/software/tesswin/x64/Release/zlib.lib;C:/software/tesswin/x64/Release/openjpeg.lib
という感じで全部書いて指定してあげます。
Tesseract_LIBRALYは
C:/software/tesswin/x64/Release/libtesseract.lib
でいけます。
C:\software\tesswinは私のPCの環境の作業ディレクトリですから、そこは皆さんの環境に
併せてください。環境変数を使えば良いかもしれませんが確認してません。
こうやればOPENCV側のCMAKEの定義ファイルも変更しないでいけます。
Worldにも、組み込めます。
あと、World化するなら、TessaractAPIとOPENCV内部ではMat(pix)でやり取りしているので
VS2015_TesseractのLeptonicaをビルドするときの指定でgifとopenjpegを無効にしておけば
Lept_LIBRALYの指定もliblept.libだけで大丈夫になるような雰囲気がありますね。
やってみればわかりますが。僕はやってみました。できました。
Tessaract単体でテストするだけの目的だったらOpenJpegもGifもいらないと思いますし。
OPENCV完全体ビルドに一歩近づきました。
作業終わったらコンパイル用に変更したコードページは日本語に戻し忘れないようにしましょう。
以上、よろしくお願いします。