MacOS でソースから opencv をビルドするときにエラー 'tesseract/baseapi.h' ファイルが見つからない

MacOS でソースから opencv をビルドするときにエラー 'tesseract/baseapi.h' ファイルが見つからない

opencv 4.1.0ソースからビルドしていますmojaveが、54% まで進んだところで、次のエラーが発生して停止します。

/git/opencv-4.1.0/opencv_contrib/modules/text/src/precomp.hpp:54:10:
  fatal error: 'tesseract/baseapi.h' file not found

これに関するgithubの問題はhttps://github.com/otiai10/gosseract/issues/40: そして、推奨されるパッチを 2 つ適用しました:

OSXでは、homebrewを使用して解決できます: brew install tesseract

いずれにせよ、そのメモは 2015 年のものであり、何の影響もありませんでした。macOS でのビルドの過程でこの特定のエラーを解決するためのヒントを opencvいただければ幸いです。

答え1

グーグル検索のクエリを少し変更した後、ここでの最後の提案は機能します -https://github.com/justadudewhohacks/opencv4nodejs/issues/179- ヘッダーインクルードを手動で追加するにはCPATH:

in my case cpp command was not aware of tesseract headers.
You can see cpp-includes with command cpp -v.

Solution for me was to make tesseract-includes availble by defining export CPATH="/usr/local/Cellar/tesseract/4.0.0_1/include" and then run the build command.

これは次のコマンドに適用できますmake:

  CPATH=/usr/local/Cellar/tesseract/4.0.0_1/include make -j4    

答え2

@javadba、解決策をありがとうございます。


OSX macOS ユーザー向け (Mojave)おそらくあなたの役に立つでしょう。Javaサポート付きOpenCV OpenCV OSX ガイド

追加のJAVAサポートをここで作成しました: そしてカスタムTESSERACTパスでmakeを起動します

 cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
-D PYTHON3_LIBRARY=`python -c 'import subprocess ; import sys ; s = subprocess.check_output("python-config --configdir", shell=True).decode("utf-8").strip() ; (M, m) = sys.version_info[:2] ; print("{}/libpython{}.{}.dylib".format(s, M, m))'` \
-D PYTHON3_INCLUDE_DIR=`python -c 'import distutils.sysconfig as s; print(s.get_python_inc())'` \
-D PYTHON3_EXECUTABLE=$VIRTUAL_ENV/bin/python \
-D BUILD_LIBPROTOBUF_FROM_SOURCES=ON \
-D BUILD_opencv_python2=OFF \
-D BUILD_opencv_python3=ON \
-D BUILD_opencv_java=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D INSTALL_C_EXAMPLES=OFF \
-D OPENCV_ENABLE_NONFREE=ON \
-D BUILD_EXAMPLES=ON ..

 CPATH=/usr/local/Cellar/tesseract/4.1.0/include make 

関連情報