以前からUbuntuでtesseractのビルドはできているように見えたが、実行時に初期化できなくサンプルを動かすことができなかった。
Windows上では成功している話があったが、Ubuntuでは何度やってもうまく行かなかった。
この問題は、春に解決していが、まとめる気力がなかったので、半年放置していたが、再度ビルドしてみると、若干挙動が異なったので、備忘録としてまとめておく。
事前準備
OpenCVが動く環境でtesseractのツールをインストール
sudo apt-get -y install libtesseract-dev
以前はデータの取得は不要な気がしたが、今回英語用の辞書をダンロードし展開後一式を
sudo cp -r tesseract-ocr/* /usr/share/tesseract-ocr/
でコピーしておく必要がある。
問題
cmakeを実行するとtesseractを見つけてくれなかった。いろいろ調べたところ
opencv_contrib-master/modules/textの
FindTesseract.cmake
で、Tesseractライブラリのフラグが設定されていないようであった。
ファイルの中の
set(Tesseract_LIBS ${Tesseract_LIBRARY} ${Lept_LIBRARY})
if(Tesseract_LIBS AND Tesseract_INCLUDE_DIR)
set(Tesseract_FOUND 1)
でfalseになっていた。
Lept_LIBRARYの正体がわからないので、外してみるとcmakeでtesseractを見つけてくれるようになり、opencvのmake installのあとでサンプルを試してみると無事初期化ができ、認識してくれた。
オリジナル
修正後
下記は動作している図、 (をlに誤認識しているがあとはうまく行っている)
感想
いろいろ試してみたが過度な期待はしないほうが良い
以上
0 件のコメント:
コメントを投稿