goal
tesseract
というコマンドをbrewを使わずにソースからMacにインストールする
problem
C++で書かれたOCRライブラリTesseract-OCR
の
tesseract --list-langs
というコマンドオプションが使えなかった
tesseract -v tesseract 3.01
--list-langs
が使えるバージョンは
tesseract -v tesseract 3.02.02
brew install tesseract
がv3.01を落として来ているようだ。ソースからインストールするしかない
log
> cd ~/src > wget https://tesseract-ocr.googlecode.com/files/tesseract-ocr-3.02.02.tar.gz # 略 > tar -zxf tesseract-ocr-3.02.02.tar.gz # 略 > cd tesseract-ocr ./configure --prefix=/usr/local/Cellar/tesseract/3.02 # 前略 Configuration is done. You can now build tesseract by running: % make > make install # make と make install って何が違うんだ? # 略 > which tesseract tesseract not found # ん?まじ?入ってない? > /usr/local/Cellar/tesseract/3.02/bin/tesseract -v tesseract 3.02.02 leptonica-1.68 libjpeg 8d : libpng 1.5.4 : libtiff 3.9.5 : zlib 1.2.5 # PATH通ってなかっただけか > /usr/local/Cellar/tesseract/3.02/bin/tesseract --list-langs Error opening data file /usr/local/Cellar/tesseract/3.02/share/tessdata/eng.traineddata Please make sure the TESSDATA_PREFIX environment variable is set to the parent directory of your "tessdata" directory. Failed loading language \'eng\' Tesseract couldn\'t load any languages! Could not initialize tesseract. > # うんイケてるっぽい
extra : 'eng'を有効な言語としてtesseractに追加する
さきほど--list-langs
したときに以下のように叱られました
Error opening data file /usr/local/Cellar/tesseract/3.02/share/tessdata/eng.traineddata Please make sure the TESSDATA_PREFIX environment variable is set to the parent directory of your "tessdata" directory. Failed loading language \'eng\' Tesseract couldn\'t load any languages! Could not initialize tesseract.
どうやら、tessdate
ディレクトリに{言語}.traineddata
を配置して、そのディレクトリの親ディレクトリに$TESSDATA_PREFIX
というenvで通せばいいっぽい?
> mkdir -p ~/src/tessdata # とりあえずここでいいや > cd ~/src/tessdata > wget https://tesseract-ocr.googlecode.com/files/tesseract-ocr-3.02.eng.tar.gz > tar -zxf tesseract-ocr-3.02.eng.tar.gz > ls tesseract-ocr tessdata # おおむしろここにtessdataくるんか... > mv tesseract-ocr/tessdata/eng.traineddata ~/src/tessdata > export TESSDATA_PREFIX=~/src/tessdata > /usr/local/Cellar/tesseract/3.02/bin/tesseract --list-langs Error opening data file /Users/otiai10/src/tessdata/tessdata/eng.traineddata Please make sure the TESSDATA_PREFIX environment variable is set to the parent directory of your "tessdata" directory. Failed loading language \'eng\' Tesseract couldn\'t load any languages! Could not initialize tesseract. # お?いけてない? # あ、親ディレクトリか... > export TESSDATA_PREFIX=~/src > /usr/local/Cellar/tesseract/3.02/bin/tesseract --list-langs List of available languages (1): eng >
いけたっぽい
jpnもあるから同じ作業すればいいはず