在 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:我已经应用了两个推荐的补丁:

在 osx 上,可以使用 homebrew 解决这个问题:brew install tesseract

无论如何,关于这一点的说明来自 2015 年,并且没有任何作用。如果能提供一些关于如何在 opencvmacos 上构建的过程中解决这一特定错误的指导,我将不胜感激。

答案1

在稍微改变我的谷歌搜索查询后,这里的最后一个建议确实有效 -https://github.com/justadudewhohacks/opencv4nodejs/issues/179- 手动将标头包含到加拿大公共卫生署

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 

相关内容